1)該代碼在最後添加替換的文本,原始位置的文本保持不變。
由於您使用+
信號打開它,因此無法在文件正文中進行替換。這樣它會追加到文件的末尾。
file = open('example.php','rb+')
但是,如果你想這隻能追加到文檔的末尾。
至bypass您可以使用seek()
導航到特定行並將其替換。或創建2個文件:input_file
和output_file
。
2)另外,而不只是替換的文本,它打印出整條生產線。
這是因爲你使用:
file.write(line.replace('Original', 'Replacement'))
免費代碼:
我分成2個文件,一個inputfile中和OUTPUTFILE。
首先它會打開ifile
並將所有行保存在名爲lines
的列表中。其次,它會讀取所有這些行,並且如果'Original'
存在,它會replace
它。
更換後,它會保存到ofile
。
ifile = 'example.php'
ofile = 'example_edited.php'
with open(ifile, 'rb') as f:
lines = f.readlines()
with open(ofile, 'wb') as g:
for line in lines:
if 'Original' in line:
g.write(line.replace('Original', 'Replacement'))
然後,如果你願意,你可以os.remove()
非編輯的文件有:
更多信息:Tutorials Point: Python Files I/O
由於您使用的是fileinput,爲什麼不只是'fileinput.input('example.php',inplace = True)'? –
其他行呢? –
@PadraicCunningham這給了一個錯誤。除了使用'fileinput'之外,還有其他一些方法嗎? –