使用os.path.splitext()方法获取文件扩展名时出现问题



我正在开发一个Flask博客应用程序,并试图将文件扩展名与文件名分离。例如,对于文件名";IMG_0503.jpg;我想得到";IMG_ 0503";和";。jpg";分别地我尝试了pathlib模块和os.path.splitext((方法,但两者都返回了一个空的文件扩展名,而不是"。jpg";

这是我的os.path.splitext((代码:

uploaded_file = request.files['file']
print("UPLOADED_FILE:", uploaded_file)
filename = secure_filename(uploaded_file.filename)
print("FILENAME:", filename)
filename = os.path.splitext(filename)[0]
file_ext = os.path.splitext(filename)[1]
print("OS.PATH.SPLITEXT:", os.path.splitext(filename))
print("FILE_EXT:", file_ext)

这是打印报表的输出:

UPLOADED_FILE: <FileStorage: 'IMG_0503.jpg' ('image/jpeg')>
FILENAME: IMG_0503.jpg
OS.PATH.SPLITEXT: ('IMG_0503', '')
FILE_EXT:

对于pathlib,输出完全相同,但我使用file_ext = pathlib.Path(filename).suffix来获得扩展。

有人能帮我解决这个问题吗?

替代解决方案:

import pathlib

# function to return the file extension
file_extension = pathlib.Path('my_file.txt').suffix
print("File Extension: ", file_extension)

输出:

文件扩展名:.txt

最新更新