0

次のようにフォーマットされた、各ファイルの7行目に日付が保存されているテキストファイルがあります。

    Date:  1233PM 14 MAY 00

各ファイルを検索して、新しい行 7 を次のようにフォーマットしたいと思います。

    Date:  1233PM 14 MAY 2000

つまり、基本的には、7 行目の下 2 桁の前に「20」を付けるだけです。

おそらく最も難しい問題ではありませんが、 textfile.readlines() がすべてを最初の (textfile[0]) 位置に読み込むので、私は苦労しています。

4

3 に答える 3

0

これを試して:

# open file
f = open("file.txt" , 'rU+b')
lines = f.readlines()

# modify line 7
lines[6] = lines[6][:-2] + "20" + lines[6][-2:]

# return file pointer to the top so we can rewrite the file
f.seek(0)
f.truncate()

# write the file with new content
f.write(''.join(lines))
f.close
于 2013-03-06T04:07:12.517 に答える
0

多分これ:

with open(filename, 'r') as f:
    lines = f.readlines()

with open(filename, 'w') as f:
    for idx, line in lines:
        if idx == 7: # or 6
            vals = line.split()
            if len(vals[-1]) == 2:
                vals[-1] = '20'+vals[-1]
            line = ' '.join(vals)
        f.write(line)
于 2013-03-06T04:08:24.470 に答える
0

すべてのファイルを読み取り、指定された行を変更して、再度保存することができます。

arc = open('file_name.txt').readlines()[0].split('\r')

#Do what you want with the 7th line i.e. arc[6]

new_arc = open('file_name.txt','w')
for line in arc:
    new_arc.write(line)
    new_arc.write('\n')

new_arc.close()
于 2013-03-06T04:01:09.023 に答える