0

タブ区切りの文字列を含むファイルがあります...

string_one    string_two

ファイルを入力として取得し、2 つの文字列の連結を含む各行の末尾に新しいタブ区切りの値を付けて返します。

これまでのところ、私はこれを持っています

#concatenate.py

from sys import argv

scriptname, filename = argv

with open(filename) as f:
    for line in f:
        #take the first word
        #take the second word
        #concatenate them and add them to the end of line

私はもう試した

for word in line

各単語を取得しますが、各文字を取得します。各単語を指定 (トークン化) するにはどうすればよいですか

4

3 に答える 3

2

使用splitしてjoin、このように

with open("Input.txt") as f:
    for line in f:
        print line, "".join(line.split()[:2])

これは印刷されます

string_one    string_two string_onestring_two

編集:ファイルが大きくない場合は、これを行うことができます

lines = []
with open("Input.txt", "r") as f:
    lines = f.readlines()
with open("Input.txt", "w") as f:
    for line in lines:
        line = line.strip()
        f.write(line + "".join(line.split()[:2]) + "\n")
于 2013-11-05T12:12:01.563 に答える
1

文字列を単語に分割するには、文字列の分割メソッドを使用できます。

'To split string into words you can use string\'s split method'.split() # returns ['To', 'split', 'string', 'into', 'words', 'you', 'can', 'use', "string's", 'split', 'method']

+使用を連結するには、またはjoinメソッドを使用できます。

line = 'one ' + 'two' # line is 'one two' 
line = ' '.join(['one', 'two']) # line is 'one two' 
于 2013-11-05T12:21:02.313 に答える