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

2024-10-01 07:33:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个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中输入文件输出文件?你知道吗


Tags: 文件txtifasbuffersyslineopen