2017-10-09 80 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