比方說,我有一個.txt文件,裏面有1000個名字。 該文件是這樣的:用python修改文本文檔
喬恩 簡 喬 傑克 傑里米
,並依此類推。
現在,讓我們說,我想追加「是跛腳」。到每個名字。 所以,我想列表看起來像這樣:
喬恩是跛腳。 簡是跛腳。 喬是跛腳。 傑克是跛腳。傑里米是跛腳。
等等。
我該如何使用python從命令行執行此操作?
比方說,我有一個.txt文件,裏面有1000個名字。 該文件是這樣的:用python修改文本文檔
喬恩 簡 喬 傑克 傑里米
,並依此類推。
現在,讓我們說,我想追加「是跛腳」。到每個名字。 所以,我想列表看起來像這樣:
喬恩是跛腳。 簡是跛腳。 喬是跛腳。 傑克是跛腳。傑里米是跛腳。
等等。
我該如何使用python從命令行執行此操作?
這不完全是Python特有的,但你的想法....
In a loop parsing each token (name):
1. Get the name into a string
2. Append "is lame" or whatever else to the string
3. Append that string onto a buffer
循環結束以後,隨着新的緩衝區替換您的文檔。
對不起,我應該更具體。我可以做代碼的實際附加部分,「名稱名稱」等。我的意思是,如何實際導入文本文檔中的原始名稱,以便我可以修改它們。我需要使用導入功能嗎? – jessiebear
對不起,不知道太多的蟒蛇。 我確定你可以在python文件I/O上找到一些與谷歌 – Prime
參見http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files。
一言以蔽之:
f = open('my_names_file.txt')
data = f.read()
f.close()
output = ""
for name in data.split(' '): # This assumes each name is separated
output += name + " is lame. " # by a space and no name contains a space
print output
這只是簡單的輸出寫回文件。這在文檔中有很好的解釋。
>>> s="Jon Jane Joe Jack Jeremy "
>>> s.replace(" ", " is lame. ")
'Jon is lame. Jane is lame. Joe is lame. Jack is lame. Jeremy is lame. '
請找一個非常基本的示例如下:
outputLines = []
with open('c:\\file.txt', 'r') as f:
for line in f:
if line.strip():
outputLines.append(' is lame. '.join(line.strip().split()))
with open('c:\\file.txt', 'w') as f:
for line in outputLines:
f.write(line+'\n')
你嘗試過這麼遠嗎?如果你在自己的第一次嘗試中表現出一些努力,那麼你會比在這裏獲得答案更多地學習。試一試並在你的問題中發佈一些代碼。 – Jordan