在python中自动输出文件名和硬盘写入性能

时间:2016-04-26 14:10:57

标签: python disk

我正在编写一个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:\ file.txt是我的输入文件,我不想像开放那样硬编码(' e:/file_v001.txt',' w'),有没有基于inputfile自动命名我的输出文件的方法?或者,如果我喜欢用python覆盖原始文件,我该怎么办?

outputfile.write(line)是否表示如果outpufile有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中。你觉得怎么样?

此外,如何完成“拖放”工作。在Windows中输入文件而不是手动输入命令 script.py inputfile outputfile

0 个答案:

没有答案