Проблема с написанием файлов на Python - PullRequest
0 голосов
/ 11 октября 2009

У меня странная проблема с программированием на Python. Я использовал выражение 'writeelines ()', чтобы записать серию списков в новый файл. В процессе я мог видеть контекст в значке файла через предварительный просмотр, однако однажды после завершения работы программы выходной файл становится пустой файл.

Короче говоря, моя проблема в том, что у программы нет выходных данных, но есть пустой файл.

Вот код:

infile=open('/Users/Jim/Desktop/py/result.txt','r')
outfile=open('/Users/Jim/Desktop/py/output.txt','a')
line=infile.readline()
i=1
while(line):
    check=str(i)+':'
    if line.startswith(check):
        i+=1
        block=[infile.readline() for j in range(1,7)]
        judge=block[1].split()
        for j in judge:
            if j=='stem' or j=='differetiation' or j=='differetiating':
                outfile.write(str(i)+':\n')
                outfile.writelines(block)    #check if the paragraph has the given key words, if true then write the paragraph into the output file.
                break
    line=infile.readline()
outfile.close()
infile.close()

Некоторая дополнительная информация, если она полезна: Версия Python 2.6.3, а ОС Mac OS 10.6.

1 Ответ

2 голосов
/ 11 октября 2009

Я думаю, это вызвано неправильным отступом. Оператор break должен находиться внутри блока if. Цикл в том виде, в котором он написан, будет использовать только первый вариант из judge Проверьте, нет ли в файле смешанных пробелов и табуляций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...