2017-02-16 13 views
1

答えを広範囲に検索し、いくつかの失敗した試みをしましたが、以下を行う方法を理解できないようです:テキストファイルを別々のファイルに分割し、ファイル名に部分文字列を保存する。 Python

私は次のpythonコードを使ってテキストの各行を保存しています

with open("filename.txt") as sourcefile: 
    for i, line in enumerate(sourcefile): 
     with open("filename{}.txt".format(str(i+1)), "w") as txtfile: 
      txtfile.write(line) 

次のようにファイル名を作成します:filename1.txt、filename2.txt、filename3.txtを別ファイルとしてファイル。私がしたいのは、各行のファイルの最初の30文字の部分文字列を別々のファイル名に挿入することです。

たとえば、元のファイルの最初の行が「今夜の夕食にピザを手に入れたいです」という文があるとします。私はその個々の行のファイル名を "ファイル名"として保存したいのですが、ピザfo.txtを取得したいのですが。

ご協力いただきまして誠にありがとうございます。

答えて

0

私が正しく理解していれば、それぞれのファイルの最初の30文字をそれぞれlineとしたいとします。それを実現するには、「([スタート:終わり])文字0と29の間の文字列lineを切る意味し、line[0:29]を使用することができます。

サンプル:。

with open("filename.txt") as sourcefile: 
    for i, line in enumerate(sourcefile): 
     with open("filename {}.txt".format(line[0:29]), "w") as txtfile: 
      txtfile.write(line) 
+0

最適です本当にありがとうございました、マルセロ! –

+0

いつでも@MJMJ。 –

関連する問題