【发布时间】:2013-12-06 05:14:05
【问题描述】:
我正在尝试定义一个要在更大程序中使用的函数,但是当我运行它时,我得到了以下输出:
Traceback(最近一次调用最后一次): 文件“test.py”,第 29 行,在 打印轨道号 NameError: name 'tracknumber' 未定义
如果我不把它写成函数(不带def),代码运行良好
有什么想法吗?
import subprocess
filename = raw_input("Path?")
def metadata():
pipe = subprocess.Popen(
["metaflac", "--show-tag=tracknumber", filename], stdout=subprocess.PIPE)
tracknumber, error = pipe.communicate()
tracknumber = tracknumber.replace("TRACKNUMBER=", "")
tracknumber = tracknumber.rstrip()
if int(tracknumber) < 10:
tracknumber = "0" + tracknumber
pipe = subprocess.Popen(
["metaflac", "--show-tag=title", filename], stdout=subprocess.PIPE)
title, error = pipe.communicate()
title = title.replace("TITLE=", "")
title = title.rstrip()
pipe = subprocess.Popen(
["metaflac", "--show-tag=artist", filename], stdout=subprocess.PIPE)
artist, error = pipe.communicate()
artist = artist.replace("ARTIST=", " - ")
artist = artist.rstrip()
metadata()
print tracknumber
print artist
print title
【问题讨论】:
-
你需要了解变量的作用域。希望this链接对你有帮助
标签: python