fileinput模块具有非常难看的API,我发现此任务漂亮的模块-in_place,例如Python 3:
import in_placewith in_place.InPlace('data.txt') as file: for line in file: line = line.replace('test', 'testZ') file.write(line)
与fileinput的主要区别:
- 而不是劫持sys.stdout,而是返回一个新的文件句柄进行写入。
- 文件句柄支持所有标准I / O方法,而不仅仅是readline()。
例如-fileinput只能逐行编辑,in_pace允许将整个文件读取到内存(如果不大)并进行修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)