2016-04-17 3 views
1

「JPG」というフォルダを1つ作成し、そのフォルダに画像のリストをPythonコードとともに入れましたが、このコードを実行すると、 './imagename.jpg'が出力されますが、テキストファイルには 'imagename.jpg'だけが必要です。画像ファイル名のリストを保存し、テキストファイルに出力するスクリプトをPythonで書いてみたい

import os 
def GetFiles(dir,f): 
    basedir = dir 
    subdirs = [] 
    for fname in os.listdir(dir): 
     fileName = os.path.join(basedir, fname) 
     if os.path.isfile(fileName): 
      if fileName.endswith(".jpg"): 
       f.write(fileName+"\n") 
       print fileName 
     elif os.path.isdir(fileName): 
      subdirs.append(fileName) 
    for subdir in subdirs: 
     GetFiles(subdir,f) 
f=open("fileName.jpg",'w') 
GetFiles('./',f) 
f.close() 

答えて

0
print fileName.replace('./' '')#Repace parameter 1 with parameter 2 
+0

fileName.replace( './'、 '')を出力するように変更しましたが、テキストファイルでは './imagename.jpg'が表示されますが、端末では 'iしかし、magename.jpg '。この問題を解決するには?それは 'GetFiles(' ./ '、f)'のためですか? – mjana

+0

私はあなたが実際の書き込みではなく交換するようにプリントを変更したと仮定しますか?この場合、f.write(fileName.replace( './',')+ "\ n") – TheLazyScripter

+0

大丈夫です。ありがとう – mjana

0

テキストファイル内のファイルの名前を保存したり、それを印刷する前に、これを実行します。PEP 8 on variables namingによると、あなたは file_name代わりfileName

で書くべき

fileName= fileName.replace('/','') 

注意を

関連する問題