检查非字符串的文件扩展名

时间:2016-01-23 22:48:58

标签: python file python-3.x module file-extension

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'

1 个答案:

答案 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)