Bar*_*ysz 8 tkinter python-3.x
几分钟前,我的功能运行良好。没有修改代码,只是安装了PyAudio。我根据主题收到错误。无论是从命令行还是 IDE 运行它都没有关系,同样的错误。有任何想法吗?
def DataFinder():
#imports and initialize
import pandas as pd
import tkinter as tk
finder = tk.Tk()
finder.withdraw()
__dataFlag = False
#ask user to select a file
__path = tk.filedialog.askopenfilename()
#check the extension to handle reader
#for csv files
if __path.endswith('.csv')==True:
df = pd.read_csv(__path,header=0)
return df
__dataFlag = True
#and for excel files
elif __path.endswith('.xls')==True:
df = pd.read_excel(__path,header=0)
return df
__dataFlag = True
#if a file is not a supported type display message and quit
else:
__dataFlag = False
#check if there is a data to be returned
if __dataFlag==True:
return df
else:
print('The file format is not supported in this version.')
Run Code Online (Sandbox Code Playgroud)
显式导入filedialog 可以解决问题。因此,您只需将此行添加到您的代码中:
import tkinter.filedialog
Run Code Online (Sandbox Code Playgroud)
您可以在为什么 tkinter 模块在通过命令行运行时引发属性错误而不是通过 IDLE 运行时引发属性错误中找到更多信息?
以下代码对我不起作用:
import tkinter as tk
import tkinter.filedialog
Run Code Online (Sandbox Code Playgroud)
但以下确实有效:
import tkinter
import tkinter.filedialog
Run Code Online (Sandbox Code Playgroud)
还有这个:
import tkinter.filedialog
import tkinter as tk
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
正如Vaidøtas I.所提到的,您不能filedialog
从tkinter
. 因为您没有导入原始tkinter
版本而是别名版本tk
。
归档时间: |
|
查看次数: |
8486 次 |
最近记录: |