2017-10-09 89 views
0

我想读取使用xlrd的excel文件并使用tkinter来查找文件。 \ \运营商遇到问题。如果我将硬编码文件路径,我可以使用原始字符串命令r'filepath'。有没有类似我可以使用,比如,r(filepath)将字符串转换为原始字符串?我的代码和错误在下面列出,原始字符串Python的替代?

import xlrd 
from tkinter import Tk, filedialog, messagebox 

application_window = Tk() 
application_window.withdraw() 

messagebox.showinfo("Information", "Select the Layout") 
path = filedialog.askopenfilenames(title="Layout") 

Layout = xlrd.open_workbook(path) 

错误:

文件 “C:\ Program Files文件\ Anaconda3 \ LIB \站点包\ xlrd__init __ PY”,线路395,在open_workbook开放(filename,“rb”)为f: FileNotFoundError:[Errno 2]没有这样的文件或目录:“('filepath',)”

回答

3

在运行的Python解释器中没有这样的东西作为原始字符串。原始字符串仅对编写的Python代码有用,以使程序员能够更轻松地输入另外的转义字符 - 最值得注意的是在正则表达式中也用作转义字符本身的反斜杠。

你的问题是不同的:你认为你从askopenfilename得到一个路径。但你得到的是一个tuple与一些路径,在你的情况只有一个。

所以只需使用tkinter.filedialog.askopenfilename而不需要拖尾就可以得到一个。

+0

是的,这解决了我的问题。感谢您的帮助和洞察力。 – Akkarris

+1

@Akkarris然后标记答案为解决您的问题,如果你不介意:) – deets