我正在开发一个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