【发布时间】:2016-11-30 10:15:48
【问题描述】:
我正在使用以下代码在编辑后使用 FTP 将文件上传到服务器:
import fileinput
file = open('example.php','rb+')
for line in fileinput.input('example.php'):
if 'Original' in line :
file.write( line.replace('Original', 'Replacement'))
file.close()
有一点,代码不是替换原处的文本,而是在末尾添加替换的文本,原处的文本不变。
此外,它不仅会打印出被替换的文本,还会打印出整行。谁能告诉我如何解决这两个错误?
【问题讨论】:
-
既然你用的是文件输入,为什么不直接
fileinput.input('example.php', inplace=True)? -
其他行呢?
-
@PadraicCunningham 这给出了一个错误。除了使用
fileinput之外还有其他方法吗? -
不是我知道的,在windows外的大多数系统上都应该是原子操作,我个人更喜欢tempfile方法
标签: python file python-3.x python-3.5