当前位置:  开发笔记 > 编程语言 > 正文

Python:防止fileinput添加换行符

如何解决《Python:防止fileinput添加换行符》经验,为你挑选了4个好方法。

我正在使用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字符.

如何防止这些额外的附属物插入文件?



1> jottos..:

您的换行符来自打印功能

使用:

import sys

sys.stdout.write ('some stuff')

你的换行会消失



2> Eugene Moroz..:

使用

print line,

要么

file.write(line)

修复额外的换行符.

从[Ctrl] - [M]开始 - 这可能是由DOS编码中的输入文件引起的.



3> kwarnke..:

而不是这个:

print line  # Put back line into file

用这个:

print line,  # Put back line into file



4> kmote..:

将for循环中的第一行更改为:

line = line.rstrip().replace("findStr", "replaceStr")

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有