我正在使用Python 2.7并导入Tkinter和TK。
我正在尝试做的是使用源路径(目录路径(并通过打开 Windows 资源管理器从选择文件连接它。这将使用户不必键入文件名。
我意识到我没有使用退货,并且会收到以下错误: TypeError:无法连接"str"和"NoneType"对象
在这里搜索此错误后,我发现我需要退货。我试图将字符串放在括号中,但它不起作用。我肯定错过了一些东西。
这是我的代码示例:
from Tkinter import *
from Tkinter import Tk
from tkFileDialog import askopenfilename
source = '\\Isfs\data$\GIS CartoTTP_Draw_Count' ## this a public directory path
filename = ''
filename = getFileName() ##this part is in a different def area.
with open (os.path.join(source + filename), 'r' ) as f: ## this is were it failing.
def getFileName():
Tk().withdraw()
filename = askopenfilename()
return getFileName()
我需要连接用于处理 csv 文件的源 + 文件名。
我不想把所有代码都放在这里,因为它很长,需要 csv 文件和自定义字典才能合并。所有这些都有效。我希望我在这个问题上放了足够的信息。
def getFileName():
Tk().withdraw()
filename = askopenfilename()
return getFileName()
您不会返回在此处获得的文件名。将其更改为:
def getFileName():
Tk().withdraw()
filename = askopenfilename()
return filename
另请注意,askopenfilename
获取所选文件的完整路径,因此source+filename
计算结果为类似u'\\Isfs\data$\GIS Carto\TTP_Draw_CountC:/Users/kevin/Desktop/myinput.txt'