下面是我用来生成json文件的脚本。我想知道的是,是否有一种简单的方法来使用这个脚本(因为它正在工作),但只有在文件扩展名为.wav时才能创建项?
如果没有,我可以将脚本移动到父目录,但是我需要如何修改脚本来扫描子目录,而不是脚本所在的目录?这是带有def path_u hierarchy(path)的行吗?
我对任何一个最简单的答案都持开放态度,但我也在努力学习,如果这两个问题都能得到回答,那就真的很酷了,因为我确实想了解过程。
import os
import errno
def path_hierarchy(path):
hierarchy = {
'artist': os.path.basename(path),
'album': 'Node 42177',
'url': os.path.join("../audio/", os.path.basename(path)),
'cover_art_url': '../album-art/Radio.jpg',
}
try:
hierarchy['children'] = [
path_hierarchy(os.path.join(path, contents))
for contents in os.listdir(path)
]
except OSError as e:
if e.errno != errno.ENOTDIR:
raise
#hierarchy['type'] = 'file'
return hierarchy
if __name__ == '__main__':
import json
import sys
try:
directory = sys.argv[1]
except IndexError:
directory = "."
print(json.dumps(path_hierarchy(directory), indent=2, sort_keys=True))