首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python:阻止fileinput添加换行符

Python:阻止fileinput添加换行符
EN

Stack Overflow用户
提问于 2009-03-18 06:44:31
回答 6查看 18.5K关注 0票数 25

我正在使用Python脚本来、查找和替换给定目录的文本文件中的某些字符串。我使用fileinput模块来简化查找和替换操作,即读取文件、替换文本并将其写回相同的文件。

代码如下所示:

代码语言:javascript
复制
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

问题是写入的文件有:

  1. 在每行之后插入一个空行。
  2. Ctrl-M字符位于每行的末尾。

如何防止将这些额外的附件插入到文件中?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-03-18 06:54:23

您的换行符来自print函数

使用:

代码语言:javascript
复制
import sys

sys.stdout.write ('some stuff')

你的断行将会消失

票数 44
EN

Stack Overflow用户

发布于 2009-03-18 06:49:35

使用

代码语言:javascript
复制
print line,

代码语言:javascript
复制
file.write(line)

来修复额外的换行符。

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

票数 10
EN

Stack Overflow用户

发布于 2009-05-20 09:06:39

而不是这样:

代码语言:javascript
复制
print line  # Put back line into file

使用以下命令:

代码语言:javascript
复制
print line,  # Put back line into file
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/657186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档