原始字符串Python替代方案?

原始字符串Python替代方案?,python,string,tkinter,xlrd,Python,String,Tkinter,Xlrd,我正在尝试使用xlrd读取excel文件,并使用tkinter查找该文件。我与\操作员有问题。如果我要硬编码文件路径,我可以使用原始字符串命令r'filepath'。我是否可以使用类似的东西,比如r(文件路径)将字符串转换为原始字符串?下面列出了我的代码和错误 import xlrd from tkinter import Tk, filedialog, messagebox application_window = Tk() application_window.withdraw() me

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

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_工作簿中,open(文件名,“rb”)为f:
FileNotFoundError:[Errno 2]没有这样的文件或目录:“('filepath',)”

在运行的Python解释器中没有原始字符串。原始字符串只有在编写Python代码时才有用,这样程序员才能更容易地输入其他转义字符——最明显的是反斜杠,它本身也在正则表达式中用作转义字符

您的问题不同:您认为您从askopenfilename获得了一条路径。但是您得到的是一个具有多条路径的
元组,在您的示例中,只有一条路径


因此,只需使用
tkinter.filedialog.askopenfilename
而不使用尾随的s即可获得一个字符串。

在运行的Python解释器中没有原始字符串。原始字符串只有在编写Python代码时才有用,这样程序员才能更容易地输入其他转义字符——最明显的是反斜杠,它本身也在正则表达式中用作转义字符

您的问题不同:您认为您从askopenfilename获得了一条路径。但是您得到的是一个具有多条路径的
元组,在您的示例中,只有一条路径


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

是的,这解决了我的问题。谢谢你的帮助和洞察力。@Akkarris如果你不介意的话,把答案标记为解决了你的问题:)是的,这解决了我的问题。感谢您的帮助和见解。@Akkarris如果您不介意,请将答案标记为解决您的问题:)