我正在尝试用python 2.6替换文件中的一些文本
但是,这里返回一个额外的换行符是我的代码:
for line in fileinput.input('/etc/php5/apache2/php.ini', inplace=True):
replace = re.sub(r'(post_max_size =).[0-9]+(M)', r'\1 64\2', line)
print replace
输入:
post_max_size = 6M
sdfsdfsd
post_max_size = 4M
sdfsdf
post_max_size = 164M
dfsdfsdfsdfsdf
输出:
post_max_size = 64M
sdfsdfsd
post_max_size = 64M
sdfsdf
post_max_size = 64M
dfsdfsdfsdfsdf
答案 0 :(得分:1)
您正在查看的额外输出来自print
,如果您将文件写回,则不应看到额外的换行符。
试一试:print replace,
这是一个小问题,但您还应该选择一个不同的名称,因为replace
是字符串标准库中方法的名称。
答案 1 :(得分:0)
print
添加换行符。请改用write
。
答案 2 :(得分:0)
尝试:
而是print replace,
。尾随逗号会抑制换行符(但会添加尾随空格)。要获得完全控制,请使用__future__
中的打印功能。