2011-07-12 86 views
2

比方說,我有一個.txt文件,裏面有1000個名字。 該文件是這樣的:用python修改文本文檔

喬恩 簡 喬 傑克 傑里米

,並依此類推。

現在,讓我們說,我想追加「是跛腳」。到每個名字。 所以,我想列表看起來像這樣:

喬恩是跛腳。 簡是跛腳。 喬是跛腳。 傑克是跛腳。傑里米是跛腳。

等等。

我該如何使用python從命令行執行此操作?

+4

你嘗試過這麼遠嗎?如果你在自己的第一次嘗試中表現出一些努力,那麼你會比在這裏獲得答案更多地學習。試一試並在你的問題中發佈一些代碼。 – Jordan

回答

0

這不完全是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 

循環結束以後,隨着新的緩衝區替換您的文檔。

+0

對不起,我應該更具體。我可以做代碼的實際附加部分,「名稱名稱」等。我的意思是,如何實際導入文本文檔中的原始名稱,以便我可以修改它們。我需要使用導入功能嗎? – jessiebear

+0

對不起,不知道太多的蟒蛇。 我確定你可以在python文件I/O上找到一些與谷歌 – Prime

1
print ' '.join(i + ' is lame.' for i in open(fname).read().split()) 
+0

+ 1爲神祕簡潔。 – Luke

0
>>> 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. ' 
0

請找一個非常基本的示例如下:

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')