Python 确定文件扩展名
我试图通过创建一个新文件来解决以下问题,然后尝试使用这些函数中的每一个来获取文件扩展名,但得到的都是错误 我做错了什么 “检查以下三个以文件名为参数的函数,并返回该文件的扩展名。例如,如果文件名为“myfile.tar.gz”,则函数的返回值应为“gz”。如果文件名没有扩展名,即当文件名仅为“myfile”时,函数应返回空字符串。“ 这些函数中的哪个正按照上面的描述来做他们应该做的事情Python 确定文件扩展名,python,file,Python,File,我试图通过创建一个新文件来解决以下问题,然后尝试使用这些函数中的每一个来获取文件扩展名,但得到的都是错误 我做错了什么 “检查以下三个以文件名为参数的函数,并返回该文件的扩展名。例如,如果文件名为“myfile.tar.gz”,则函数的返回值应为“gz”。如果文件名没有扩展名,即当文件名仅为“myfile”时,函数应返回空字符串。“ 这些函数中的哪个正按照上面的描述来做他们应该做的事情 a) 获取\u扩展1和\u扩展3 b) 仅获取扩展名3 c) 获取扩展2和扩展3 d) 全部 试试看: ge
- a) 获取\u扩展1和\u扩展3
- b) 仅获取扩展名3
- c) 获取扩展2和扩展3
- d) 全部
get_extension1("myfile.ext")
Out[60]: 'ext'
get_extension1("myfile")
Out[61]: 'myfile' # wrong
get_extension2("myfile.ext")
Out[62]: '.ext'
get_extension2("myfile")
Out[63]: ''
get_extension3("myfile.ext")
Out[64]: 'ext'
get_extension3("myfile")
Out[65]: ''
编辑:听起来属性错误是因为您为文件名
传递的不是字符串。如果文件名是字符串,它们运行正常,但是如果文件名没有扩展名,则获取扩展名1
会失败。获取扩展名1(文件名)如果文件名
不包含
get\u extension3(filename)
将引发错误,因为结尾处出现了**
:
SyntaxError: invalid syntax
get_extension1
应该是:
def get_extension1(filename):
output = filename.split(".")
return output[-1] if len(output)>1 else ''
我投票结束这个问题,作为离题。你得到的错误是什么?使用get_extension1,我得到:AttributeError:内置函数或方法没有属性“split”,其他两个函数也会出现相同的错误,但不是“has no split”,而是“has no rfind”@Moutaz Mahmoude,我希望这会有用。
def get_extension1(filename):
output = filename.split(".")
return output[-1] if len(output)>1 else ''