我正在编写一个python脚本来删除输入文件中的行,到目前为止它看起来像:
import sys
flag = 1
with open(sys.argv[1], 'r') as inputfile, open('e:/file_v001.txt', 'w') as outputfile:
for line in inputfile:
if line.strip() == 'BeginModeData Compose':
flag = 0
if flag:
outputfile.write(line)
if line.strip() == 'EndModuleData':
flag = 1
如果e:\文件.txt是我的输入文件,我不想硬编码像open('e:/file\u v001.txt','w'),有没有办法根据输入文件自动命名我的输出文件?或者,如果我喜欢python覆盖我的原始文件,我能做什么?你知道吗
是否outputfile.write文件(line)意味着如果outufile有5000行,python会写5000次硬盘吗?这样会更好吗:
import sys
flag = 1
buffer = ''
with open(sys.argv[1], 'r') as inputfile, open('e:/file_v001.txt', 'w') as outputfile:
for line in inputfile:
if line.strip() == 'BeginModeData Compose':
flag = 0
if flag:
buffer += line
if line.strip() == 'EndModuleData':
flag = 1
outputfile.write(buffer)
我认为python此时只写一次硬盘驱动器,但缓冲区数据将保留在RAM中。你觉得怎么样?你知道吗
此外,如何实现“拖放”输入文件而不是手动输入命令脚本.py在windows中输入文件输出文件?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐