Python 2.7 Python2.7使用Tkinter连接源路径和文件名会导致非类型错误
我使用的是Python2.7和导入的Tkinter和TK 我试图做的是使用一个源路径(目录路径),并通过打开windows资源管理器将其与拾取文件连接起来。这将使用户不必键入文件名 我意识到我没有使用返回,并将得到以下错误: TypeError:无法连接'str'和'NoneType'对象 在这里搜索这个错误后,我发现我需要返回。我试着把字符串放在括号里,但没用。我肯定错过了什么 以下是我的代码示例:Python 2.7 Python2.7使用Tkinter连接源路径和文件名会导致非类型错误,python-2.7,Python 2.7,我使用的是Python2.7和导入的Tkinter和TK 我试图做的是使用一个源路径(目录路径),并通过打开windows资源管理器将其与拾取文件连接起来。这将使用户不必键入文件名 我意识到我没有使用返回,并将得到以下错误: TypeError:无法连接'str'和'NoneType'对象 在这里搜索这个错误后,我发现我需要返回。我试着把字符串放在括号里,但没用。我肯定错过了什么 以下是我的代码示例: from Tkinter import * from Tkinter import Tk fr
from Tkinter import *
from Tkinter import Tk
from tkFileDialog import askopenfilename
source = '\\\\Isfs\\data$\\GIS Carto\TTP_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\u Draw\u CountC:/Users/kevin/Desktop/myinput.txt'