“编写一个将获取文件名的函数(使用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编写程序时我做错了吗?
答案 0 :(得分:0)
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