from tkinter.filedialog import askopenfilename
import os
load_list = open(askopenfilename(), "rb")
file_name, file_extension = os.path.splitext(load_list)
if str(file_extension).lower() == (".p", ".pickle"):
print("pickle")
我已经读过这个方法适用于作为字符串给出的文件路径,但这不适用于我获取文件路径的方法。
我收到错误:
AttributeError: '_io.BufferedReader' object has no attribute 'rfind'
答案 0 :(得分:2)
您正在将字符串与元组进行比较。您可能打算使用in
:
if file_extension.lower() in (".p", ".pickle"):
并且,您应该将文件名传递给splitext()
,而不是文件对象。替换:
file_name, file_extension = os.path.splitext(load_list)
使用:
filename = askopenfilename()
_, file_extension = os.path.splitext(filename)