このファイル (wordlist.txt) を開いたとします。
...
14613 bore
14614 borg
14615 boric
14616 boris
14621 born
14622 borne
14623 borneo
14624 boron
...
変数がたとえば 14623 の場合、その隣の単語を選択するにはどうすればよいですか?
これを一度だけ行う場合は、falsetru が示した方法で行ってください。
複数の数値を検索する必要がある場合は、エントリを辞書に保存します。
wordmap = {}
with open('wordlist.txt') as f:
for line in f:
key, value = line.split()
wordmap[key] = value
これで、次のように任意の番号を検索できます。
>>> wordmap['14623']
borneo
あなたが追加したいかもしれないいくつかの改良:
rstrip
単語の終わりの改行split(None, 1)
途中にスペースがある単語を処理するwordmap[int(key)]
wordmap[14623]
代わりに見上げることができますwordmap['14623']
'glassdfefewasd'
一般的な例外をダンプする代わりに、または適切なものは何でも」のような有用なエラー メッセージを出力できます。たとえば、これは #1、#2、および #4 を行います。
with open('wordlist.txt') as f:
wordmap = dict(line.rstrip().split(None, 1) for line in f)
以下を試してください:
with open('wordlist.txt') as f:
for line in f:
row = line.split()
if row[0] == '14623':
print(row[1])
break
アイテムに一度だけアクセスしたい場合、これは非常に読みやすいです:
with open('test.txt') as f:
print next(line.split()[1] for line in f
if line.startswith('14623'))
正規表現の使用:
import re
line_num = 14615
print re.search(r''+str(line_num)+' (\w+)', file_text).group()