我正在使用Python脚本在给定目录的文本文件中查找并替换特定字符串。 我正在使用fileinput
模块来简化查找和替换操作,即读取文件,替换文本并将其写回到同一文件。
代码如下:
import fileinput
def fixFile(fileName):
# Open file for in-place replace
for line in fileinput.FileInput(fileName, inplace=1):
line = line.replace("findStr", "replaceStr")
print line # Put back line into file
问题在于写入的文件有以下问题:
- 在每一行之后插入了一个空白行。
- 在每一行的末尾插入了Ctrl-M字符。
我该如何防止这些额外的附加内容被插入到文件中?
print
替换为sys.stdout.write
,可能会发生变化,它会打印到控制台,而文件最终为空。 - Zitrax