谁可以帮助我编写脚本?
如果audiofile.tag.genre为空,我想通过输入输入流派,
每次当audiofile.tag.genre为空时,我都想从enter输入接受第一个流派
import eyed3
import eyed3.mp3
import sys, os, subprocess
import os, datetime
def get4():
global genre
if not genre:
while (True):
try:
genre = input("Input Genre: ")
except ValueError:
break
break
return genre
else:
return genre
topath = r"c:\dn"
def get(topath):
os.chdir(topath)
for filename in os.listdir(topath):
if filename.endswith(".mp3"):
audiofile = eyed3.load(filename)
if not audiofile.tag.genre:
get4()
audiofile.tag.genre = genre
audiofile.tag.save()
get(topath)
错误:
name 'genre' is not defined
正如我们在chat中讨论的那样,仅当mp3还没有流派时,您才希望获得用户输入,然后将相同的输入用于以下所有mp3。您可以通过设置默认值genre = None
,然后genre is None
在需要时进行检查来做到这一点。
另外,我会使用比更具描述性的名称get4
,例如get_genre
。
def get(topath):
genre = None # Default before user input
...
if not audiofile.tag.genre:
if genre is None:
genre = get_genre()
audiofile.tag.genre = genre
audiofile.tag.save()
这样,您就不会使用全局变量(这很麻烦),并且可以简化get_genre
为仅向用户询问类型然后返回它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句