我正在编写一个python脚本,其目的是遍历目录结构,其中每个目录都有一个文本文件,并且
say -f script.txt -o greetings.aiff
转换文本文件并将其导出为aiff格式lame -m m greetings.aiff greetings.mp3
将其转换为更可用的格式这是为什么?听起来可能有些奇怪,但它创建了一个定制的学习音频,它遍历知识结构(目录结构)并每天覆盖其中的不同部分。
我认为我会在第3步和第4步很好。但是,我很难识别根目录下的随机文件n
目录。
根据其他答案,我可以使用pathlib
或Path
中的os.walk
这两个实现在这里:
它获取文件列表并显示一个随机文件。我认为目前就足够了。但是,如何获取根文件和随机文件之间的所有文件?
def get_random_files2(ext, top=os.getcwd()):
file_list = list(Path(top).glob("**/*.{}".format(str(ext))))
if not len(file_list):
return "No files matched that extension: {}".format(str(ext))
rand = random.randint(0, len(file_list) - 1)
#print(len(file_list))
return file_list[rand]
extension = "txt"
print(get_random_files2(extension))
这是半熟的,因为我仍在学习如何使用它,并且我的python生锈了。
import os
for root, dirs, files in os.walk(".", topdown=True):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))