Python 2.7 使用 Tkinter 连接源路径和文件名会给出 none 类型的错误



我正在使用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'

最新更新