Python 打印函数的返回。UnboundLocalError:局部变量';文件';分配前参考
这一小段代码有问题。获取标题中的错误。有没有人能帮我修一下,或者告诉我哪里出了问题。谢谢Python 打印函数的返回。UnboundLocalError:局部变量';文件';分配前参考,python,function,Python,Function,这一小段代码有问题。获取标题中的错误。有没有人能帮我修一下,或者告诉我哪里出了问题。谢谢 import tkinter as Tk from tkinter import filedialog def chooseDcmFile(): root.filename = filedialog.askopenfilename(initialdir="/", title="Select dcm File", filetypes=("dcm files", "*.dcm")) file
import tkinter as Tk
from tkinter import filedialog
def chooseDcmFile():
root.filename = filedialog.askopenfilename(initialdir="/", title="Select dcm File", filetypes=("dcm files", "*.dcm"))
file = root.filename
return(file)
from pydicom import dcmread
def dcmread():
if file == none:
file = chooseDcmFile()
dcmFullData=dcmread(file)
return (dcmFullData)
print dcmread()
也许你的意思是:
import tkinter as Tk
from tkinter import filedialog
def chooseDcmFile():
root.filename = filedialog.askopenfilename(initialdir="/", title="Select dcm File", filetypes=("dcm files", "*.dcm"))
return root.filename
from pydicom import dcmread
def dcmreader():
file = chooseDcmFile()
dcmFullData = dcmread(file)
return dcmFullData
print(dcmreader())
为什么要导入
dcmread
,然后立即将其重新定义为def dcmread()
?新函数中的file
是什么?我本可以将其定义为其他内容,但我的函数与导入的模块相同,以使我更易于读取,但这没有帮助,因为您的def dcmread()
使导入变得多余。您的新函数现在是递归的!抱歉,我没有编写代码…正在导入的模块是dcmread。我定义的函数是dcmreader(请注意末尾的er)。我的观点是,我一直保持这两个相似,以使我自己更容易,但我理解你的观点。