检查非字符串的文件扩展名
Check file extension of a non string
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'
您正在比较字符串和元组。您可能打算使用 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)
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'
您正在比较字符串和元组。您可能打算使用 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)