原始字符串Python替代?

时间:2017-10-09 16:43:27

标签: python string tkinter xlrd

我正在尝试使用xlrd读取excel文件并使用tkinter来查找文件。我在使用\运算符时遇到问题。如果我要硬编码文件路径,我可以使用原始字符串命令,r' filepath'。是否有类似的东西,比如r(filepath)将字符串转换为原始字符串?我的代码和错误列在下面,

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 \ site-packages \ xlrd__init __。py",第395行,在open_workbook中打开(文件名," rb")为f : FileNotFoundError:[Errno 2]没有这样的文件或目录:"(' filepath',)"

1 个答案:

答案 0 :(得分:3)

在正在运行的Python解释器中没有raw-string这样的东西。 raw-strings只对编写的Python-Code有用,使程序员更容易输入其他转义字符 - 最明显的是反斜杠,它们也在正则表达式中用作转义字符本身。

您的问题不同:您认为从askopenfilename获取路径。但你得到的是tuple有很多路径,在你的情况下只有一个。

所以只需使用tkinter.filedialog.askopenfilename而不使用尾随s来获得一个。