2015-03-03 33 views
-4

「寫入,將獲得文件名(使用pickAFile)的功能,並且然後識別它是否是圖片或聲音文件,或甚至一些其它的文件類型該文件然後應解釋爲一個圖像,如果其類型是JPG(然後打印適當的消息,然後退出)或聲音,如果其類型是WAV(然後打印適當的消息,然後退出),並且如果它既不是圖像也不是聲音文件,則必須打印一個錯誤消息。此錯誤消息應包括文件的(即可能沒有一個週期的類型或缺少類型,例如文件名在它例如ducksjpg 。)請記住,文件類型可以是2,3,4個或更多個字母「寫在JES一個函數,將區分文件的類型被選擇

所以這是我迄今想通了,和它的作品:

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" 

出於某種原因,程序不工作時,我嘗試使用RFIND,得到行錯誤消息無效語法5

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編寫程序錯誤?

+1

將其分解爲單獨的任務,然後研究如何分別完成每個任務。解決第一個任務,然後研究下一個任務並將該功能添加到您的代碼中。沖洗並重復,直到完成所有任務。如果你一路卡住,你可以解釋你遇到的問題,*包括你有困難的相關代碼*,並提出具體問題。如果你根本無法開始,請向你的導師尋求幫助。 – 2015-03-03 02:31:46

回答

0

安可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 
+0

謝謝,我會試試這個 – Mark 2015-03-05 02:40:57

相關問題