2011-07-12 11 views
2

私はそれに1,000の名前を持つ.txt文書を持っていたとしましょう。 文書は次のようになります。Pythonでテキスト文書を変更する

ジョン ジェーン ジョーように ジャック ジェレミー

とし、。

さて、私は「ラメです」と付け加えたいとしましょう。それぞれの名前に リストは次のようになります。

Jonはラメです。 ジェーンは不景気です。 ジョーは恋人です。 ジャックが窮屈です。 ジェレミーは恋人です。

などです。

私はこれをコマンドラインから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を知らないです。 私は確かにあなたがGoogleの – Prime

3

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 

それは戻ってファイルに出力を書き込むことも簡単です。これはドキュメントでよく説明されています。

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

+1でpythonファイルのi/oで何かを見つけることができます。 – 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') 
関連する問題