私は、テキスト文書内の記号{}の間のすべてを見つけるスクリプトを作ろうとしています。それは{}内の.txtドキュメント固有の部分を取り、それをアルファベット順に整理し、それをテキスト文書に戻して書き戻します。テキスト文書の例...(アルファベット順にソート)リストを整理してファイルに書き戻す
bla bla bla
bla ba bl bla ba bl {apple:banana, this: something else, airplane:hobby}
bla bla bla
bla bla bla
所望の出力..
bla bla bla
bla ba bl bla ba bl {airplane:hobby, apple:banana, this: something else}
bla bla bla
bla bla bla
何その、まだ印刷...
bla bla bla
bla ba bl bla ba bl {apple:banana, this: something else, airplane:hobby}
bla bla bla
bla bla bla
私のコード..
def openFind():
f = open(inFile, 'r')
lines = f.read()
match = re.findall(r'{(.*?)}', lines)
before = str(match)
n=1
for i in xrange(0, len(match), n):
mydict = match[i:i+n]
for x in sorted(mydict):
c = x.split(',')
newmatch = sorted(c)
final = str(newmatch)
print final
# NOT WORKING BELOW!!! Stuck in loop?
with open(outFile,'w') as new_file:
with open(inFile) as old_file:
for line in old_file:
new_file.write(line.replace(before, after))
ソート順/アルファベット順リストを[飛行機:趣味、リンゴ:バナナ、これは別のものですが、テキスト文書の元のテキストを置き換えるにはどうしたらいいですか?インプレースにする必要がありますが、新しいtxtを作成することができます。
あなたは(http://stackoverflow.com/questions/4719438/editing-specific-line-in- [この]のような何かを探していますtext-file-in-python) – idjaw
Iveはfileinput関数を試しましたが、それは私のテキストを大幅に変更します – Anekdotin
その入力の出力はどれくらいですか? – Francesco