"编写一个函数,该函数将获得文件名(使用pickAFile),然后识别它是图片还是声音文件,甚至是其他文件类型。然后,如果文件类型为jpg(然后打印适当的消息,然后退出),则文件应被解释为图片或声音,如果它的类型为wav(然后打印相应的消息,再退出),如果它既不是图片也不是声音文件,则必须打印错误消息。此错误消息应包括文件的类型(或缺少类型,例如文件名中可能没有句点,例如ducksjpg)。请记住,文件类型的长度可以是2、3、4个字母,甚至更多!"
到目前为止,这就是我所发现的,而且它很有效:
def sortoutfiles():
f= pickAFile()
print f
filename=f
if filename.endswith (".jpg"):
print "It's a picture"
if filename.endswith (".wav"):
print " It's a sound"
else:
print"Oops! Did not choose a picture or a sound file"
由于某种原因,当我尝试在第5行上使用rfind-get错误消息无效语法时,程序不起作用
def sortoutfiles():
f= pickAFile()
print f
filename=f
if p=filename.rfind('.jpg'):
print "It's a picture"
if filename=f.rfind(".wav"):
print " It's a sound"
else:
print"Oops! Did not choose a picture or a sound file"
here
有人能告诉我在用rfind编写程序时做错了什么吗?
Apco 1P00?
使用rfind计算文件扩展名
f = pickAFile()
p = f.rfind('.jpg') #finds if the file ends in .jpg
s = f.rfind('.wav') #finds if the file ends in .wav
length = len(f) #finds the length of the file name
以此为基础,然后从这里开始使用if语句。
回忆上一个实验室
>>> testString = 'abc DEf ghi ihg uVW xyz'
>>> print testString.find('k')
-1 #"Not found" can't be 0, so result is -1