确定文件扩展名

时间:2016-02-14 16:48:06

标签: python file

我试图通过创建一个新文件来解决以下问题,然后尝试了这些函数中的每一个来获取文件扩展名,但我得到的只是错误。

我做错了什么?

" 检查以下三个函数,这些函数将文件名作为参数并返回该文件的扩展名。例如,如果文件名是' myfile.tar.gz'函数的返回值应该是' gz'。如果文件名没有扩展名,即当文件名只是' myfile'时,该函数应该返回一个空字符串。"

ctx.moveTo(x,y)

根据上面的描述,这些功能中的哪一个正在完成他们应该做的事情?

  • a)get_extension1和get_extension3
  • b)仅限get_extension3
  • c)get_extension2和get_extension3
  • d)所有人

2 个答案:

答案 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会失败。