我显然仍然是初学者,但我正在创建一个解析文件,该文件通过文本文件,并构建我需要的文件。
物流并不像显而易见的那样重要。
import fileinput;
for lines in fileinput.FileInput("c:/manhattan.txt", inplace=1):
lines = lines.strip();
if lines == '': continue;
print(lines);
source = open('c:/manhattan.txt','r');
hrt = open('c:/test.hrt','w');
currentline = str(source.readline());
currentline.lstrip();
workingline = '';
while currentline[0] != " ":
if currentline[0].isdigit() == True:
if currentline[0:3] == workingline[0:3] and len(workingline)<160:
workingline = workingline + currentline[4:7];
currentline = str(source.readline());
currentline.lstrip();
else:
hrt.write(('\x01' + 'LOC01LOC' + workingline).ljust(401,' ') +'\n');
workingline = currentline[0:7].replace(';','E');
currentline = str(source.readline());
currentline.lstrip();
else:
currentline = str(source.readline());
currentline.lstrip();
hrt.write(('\x01'+'LOC50US1 A*').ljust(401,' ' +'\n');
hrt.write(('\x02'+'LOCSUNSAT00:0023:5960 60 99990.00 0.00').ljust(401,' ')+'\n');
hrt.write(('\x02'+'US SUNSAT00:0023:5960 60 99990.03 0.03').ljust(401,' ') +'\n');
hrt.close();
source.close();
它在python命令行中工作正常,但是在运行.py文件时,它不会将最后三行写入文件。
有什么想法吗?
答案 0 :(得分:0)
您是否尝试在关闭文件之前刷新缓冲区?
hrt.flush()