我编写了一个小脚本来将我所有的 .flac 文件从 dap 移动到艺术家子文件夹,以便可以轻松地从计算机访问它。我在 Ubuntu 上使用了带有诸如 eyed3 和 os 之类的库的 python3。它适用于近 30 首歌曲(2 位艺术家)。所以这里是代码:
import os
import eyed3
os.chdir("/home/user/Music")
cwd = os.getcwd()
# print the current directory
print("Current working directory is:", cwd)
listOfFiles = os.listdir()
artists = []
# print(listOfFiles)
try:
for file in listOfFiles:
aFile = eyed3.load(file)
artist = aFile.tag.artist
if artist not in a:
artists.append(artist)
os.mkdir(artist)
os.rename(cwd + '/' + file, cwd + '/' + artist + '/' + file)
except:
print("not a file")
print(artists)
它必须创建 2 个文件夹。但是,当我尝试在我的 Windows PC 上运行此脚本时,它会引发异常并打印“不是文件”。这是没有 try/except 的控制台输出:
Traceback (most recent call last):
File "D:\GitHub\Song-Sorter\main.py", line 21, in <module>
artist = aFile.tag.artist
AttributeError: 'NoneType' object has no attribute 'tag'
所以我尝试了这个(下一行artist = aFile.tag.artist
):
print(type(artist))
它的输出是:
<class 'NoneType'>
问题是什么?想不通