处理一个接收文件的程序并确定它是什么类型。它必须是.wav或.jpg文件才是正确的,如果它不是其中之一,它将显示一条消息,说明要选择正确的文件类型。但是,我坚持如何让它来确定选择什么类型的文件,因为对于这个程序我不允许使用f.endswith(),所以我认为范围可能有效,但我不确定是什么类型的参数应该是,或者如果范围甚至是如何确定文件类型的正确选择。请帮助:)
error C4146: unary minus operator applied to unsigned type, result still unsigned
好吧我尝试了类似这样的东西,但它给了我一个语法错误,你能帮我解决一下这个问题吗?
def fileType():
f = pickAFile
print f
for f in range ():
start = f.rfind(".")
if start!=-1:
print A .wav file type was selected
print A .jpg file type was selected
else:
print No file type was chosen
print Please choose a different file type
答案 0 :(得分:0)
字符串切片是您正在寻找的,例如:
>>> s = 'file.wav'
>>> s[s.rfind('.'):]
'.wav'
s[index:index2]
会返回s
的{{1}}副本,该副本从index
开始,但不包括所有字符index2
s[s.rfind('.'):] == '.wav' # this statement is == s.endswith('.wav')
使用字符串切片
>>> s = 'file.wav'
>>> s[-3:]
'wav'
答案 1 :(得分:-2)
也许您可以使用contains
方法。您可以在if语句中编写类似FileVariable.contains("png")
的内容。这些条件不是陈述。让我把它写出来清楚。
if (!(FileVariable.contains("fileextension"))
&& !(FileVariable.contains("otherfileextension") {
// if it makes it past this sort of filter
// then it will only be using the file types that you mention
}
您也可以代替说每个不能使用的过滤器,告诉它可以通过什么。这会简单得多。