我的腳本記錄有關目錄和子目錄中所有唯一文件類型的信息。在創建文件擴展名的唯一列表的過程中,當前代碼認爲jpg,Jpg和JPG是相同的,因此它只在列表中包括其中的一個。我如何包含所有三個或更多的差異?唯一的列表是否可以接受較低和較大的條目
for root, dirs, files in os.walk(SourceDIR, topdown=False):
for fl in files:
currentFile=os.path.join(root, fl)
ext=fl[fl.rfind('.')+1:]
if ext!='':
if DirLimiter in currentFile:
List.append(currentFile)
directory1=os.path.basename(os.path.normpath(currentFile[:currentFile.rfind(DirLimiter)]))
directory2=(currentFile[len(SourceDIR):currentFile.rfind('\\'+directory1+DirLimiter)])
directory=directory2+'\\'+directory1
if directory not in dirList:
dirCount+=1
dirList.append(directory)
if ext not in extList:
extList.append(ext)
完整的劇本是在stackexchange這樣一個問題:Recurse through directories and log files by file type in python
由於JennaK在進一步的調查,我發現在JPG報告輸入實際上有JPG和JPG如下的文件中。
> 44;X:\scratch\project\Input\Foreshore and Jetties Package
> 3\487679 - Jetty\IMG_1630.JPG;3755267
> 45;X:\scratch\project\Input\Foreshore and Jetties Package
> 3\487679 - Jetty\IMG_1633.JPG;2447135
> 1;X:\scratch\project\Input\649701 - Hill
> Close\2263.jpg;405328 2;X:\scratch\project\Input\649701 - Hill Close\2264.jpg;372770
所以它首先得到了所有的JPG文件的詳細信息,然後將JPG文件,並把它們放在一個單一的報告實際上是比有2份報告更方便。我想我的編程比我想象的要好:-)
你真的需要將這些添加到列表中嗎?我的意思是在「大寫」函數可以解決你的問題之後用字符串檢查? – cerkiewny
'ext不在extList'中已經是區分大小寫的比較。如果您的代碼不起作用,則問題必須在其他地方。 –
@JanneKarila - 你是對的。我只是重新檢查了extList,它有所有的病例版本。我正在嘗試在代碼中稍後跟蹤該問題,並會盡快更新我的答案以反映此問題。謝謝。 – GeorgeC