Validation 检查文件扩展名是否有效

Validation 检查文件扩展名是否有效,validation,python-3.x,Validation,Python 3.x,在用户输入时,我试图验证他们是否键入了适当的文件扩展名。例如: file1 = input('Enter the file name ending in ".txt": ') 我想验证他们是否输入了“.txt”。现在我正在做基本的检查。但是,下面的检查并不能真正验证文件是否以.txt结尾 if '.txt' not in file_name: print('Include file extension (example): ".txt"') 因此,我假设它只验证“.”之后的“txt”

在用户输入时,我试图验证他们是否键入了适当的文件扩展名。例如:

file1 = input('Enter the file name ending in ".txt": ')
我想验证他们是否输入了“.txt”。现在我正在做基本的检查。但是,下面的检查并不能真正验证文件是否以.txt结尾

if '.txt' not in file_name:
    print('Include file extension (example): ".txt"')

因此,我假设它只验证“.”之后的“txt”字符,但前提是它是最后一个“.”,例如,我不希望它意外地在baby.dinosoars.txt中捕捉到“dinosoars”。

为什么不使用
endswith

if not file_name.endswith(extension):
    #exec code

为什么不改用
endswith

if not file_name.endswith(extension):
    #exec code

如果将文件名设置为字符串
s
,则可以使用endswith:

if s.endswith('.txt'):
...
elif s.endswith('.test'):
...
或不区分大小写的版本(如果有,请删除任何其他版本)


如果将文件名设置为字符串
s
,则可以使用endswith:

if s.endswith('.txt'):
...
elif s.endswith('.test'):
...
或不区分大小写的版本(如果有,请删除任何其他版本)

这应该起作用:

if file_name.endswith(".txt"):
    print "something"
这应该起作用:

if file_name.endswith(".txt"):
    print "something"

endswith
而不是
ends_with
print
在Python 3中需要括号。x
endswith
而不是
ends_with
print
在Python 3中需要括号。可能重复的