3

我有一些文件,一些已填充。尝试在每个未填充的文件中放置一个零,使用文件名列表,并测试每个文件的内容:

for n in list_of_files:
    nam = n[2]
    fil = '.'.join([nam, 'fil'])    # adds .fil extension to filename
    with open(fil,'r+') as f:
        if not f.readline():        # check file contents
            print 'empty file: ' + fil
        f.seek(0)
        f.write('0')

该脚本已经很好地识别了文件中的某些内容,例如,if f.readline() print 'nam'但是当运行上述块时,所有文件都被覆盖了。不用担心,但想知道发生了什么。

4

1 回答 1

2

您的问题是,无论文件是否已填充,您都在编写,请改用此方法

for n in list_of_files:
    nam = n[2]
    fil = '.'.join([nam, 'fil'])    # adds .fil extension to filename
    with open(fil,'r+') as f:
        if not f.readline():        # check file contents
            print 'empty file:', fil
            f.seek(0)
            f.write('0')
于 2013-05-16T15:48:05.153 回答