디렉토리에있는 일부 파일의 이름으로 목록의 요소를 지정하려고하는데 지금까지 디렉토리에서 각 파일의 이름을 복구하고 목록으로 반환하는 함수를 만들었습니다.목록의 요소를 파이썬에서 파일 이름으로 할당하는 방법은 무엇입니까?
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")
원하는 출력은 각 처리의 실제 파일 이름으로 구성된다 :
은 여기에 전체 스크립트이다.
은 왜이다 : 영업 이익이 있다는 것을 모든 있었다면 내가 그렇게 간다,이 코드를 작성합니다 방법을 묻는 원하는 파일을 열 때 파일 이름을 열면됩니까? – TigerhawkT3
그리고 왜'open()'대신에'codecs.open()'을 사용하고 있습니까? –
도움을 주셔서 감사합니다. 왜냐하면 내가 다시 작성하고 다른 형식으로 처리하기 때문입니다. @JohnGordon – tumbleweed