ディレクトリにあるファイルの名前としてリストの要素を割り当てようとしていますが、これまでのところ、各ファイルの名前をディレクトリから復元してリストに返します。リストの要素をPythonでファイル名として割り当てる方法は?
def retrive(directory_path):
path_names = []
for filename in sorted(glob.glob(os.path.join(directory_path, '*.pdf'))):
retrieved_files = filename.split('/')[-1]
path_names.append(retrieved_files)
print (path_names)
リストで上記の関数が返す各ファイルの名前、次のように私は別のディレクトリにファイルを書いています:
path = os.path.join(new_dir_path, "list%d.txt" % i)
#This is the path of each new file:
#print(path)
with codecs.open(path, "w", encoding='utf8') as filename:
for item in [a_list]:
filename.write(item+"\n")
は最後に、私の質問は:どのように私はの名前として割り当てることができます各ファイル、各要素path_names
?、次の行のようなもの:
path = os.path.join(new_dir_path, "list%d.txt" % i)
また、format()
機能を使用しようとしました。しかし、私はまだ各ファイルに正しい名前を割り当てることはできません。
ここで完全なスクリプトです:
def transform_directoy(input_directory, output_directory):
import codecs, glob, os
from tika import parser
all_texts = []
for filename in sorted(glob.glob(os.path.join(input_directory, '*.pdf'))):
parsed = parser.from_file(filename)
texts = parsed['content']
all_texts.append(texts)
for i , a_list in enumerate(all_texts):
new_dir_path = output_directory
#print(new_dir_path)
path = os.path.join(new_dir_path, "list%d.txt" % i)
with codecs.open(path, "w", encoding='utf8') as filename:
for item in [a_list]:
filename.write(item+"\n")
所望の出力は、各処理されたファイルの実際の名前で構成されますが。
はなぜあなたをしている:OPはこれがあったこと全てだった場合、私はそうここに、このコードを書くだろうか尋ねましたあなたが望むだけのファイルを開くときには名前を付けますか? – TigerhawkT3
なぜ、 'open()'の代わりに 'codecs.open()'を使用していますか? –
助けを借りてくれてありがとう、私はそれらを書き換えて、異なるフォーマットで処理するので@JohnGordon – tumbleweed