我试图通过创建一个新文件来解决以下问题,然后尝试了这些函数中的每一个来获取文件扩展名,但我得到的只是错误。
我做错了什么?
" 检查以下三个函数,这些函数将文件名作为参数并返回该文件的扩展名。例如,如果文件名是' myfile.tar.gz'函数的返回值应该是' gz'。如果文件名没有扩展名,即当文件名只是' myfile'时,该函数应该返回一个空字符串。"
ctx.moveTo(x,y)
根据上面的描述,这些功能中的哪一个正在完成他们应该做的事情?
答案 0 :(得分:2)
get_extension1(filename)
不包含filename
, .
将返回文件名
get_extension3(filename)
会因最后**
而引发错误:
SyntaxError: invalid syntax
get_extension1
应该是:
def get_extension1(filename):
output = filename.split(".")
return output[-1] if len(output)>1 else ''
答案 1 :(得分:0)
尝试并找出:
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]: ''
编辑:听起来像是AttributeErrors,因为你传递的内容不是filename
的字符串。如果filename是一个字符串,它们运行得很好,但如果文件名没有扩展名,则get_extension1
会失败。