亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python遞歸文件夾讀取

Python遞歸文件夾讀取

C++
森林海 2019-12-10 11:08:28
我有C ++ / Obj-C背景,而我剛發現Python(大約寫了一個小時)。我正在編寫一個腳本,以遞歸方式讀取文件夾結構中文本文件的內容。我的問題是我編寫的代碼僅適用于一個文件夾較深的地方。我可以看到為什么在代碼中(請參閱參考資料#hardcoded path),我只是不知道如何繼續使用Python,因為我的經驗僅僅是全新的。Python代碼:import osimport sysrootdir = sys.argv[1]for root, subFolders, files in os.walk(rootdir):    for folder in subFolders:        outfileName = rootdir + "/" + folder + "/py-outfile.txt" # hardcoded path        folderOut = open( outfileName, 'w' )        print "outfileName is " + outfileName        for file in files:            filePath = rootdir + '/' + file            f = open( filePath, 'r' )            toWrite = f.read()            print "Writing '" + toWrite + "' to" + filePath            folderOut.write( toWrite )            f.close()        folderOut.close()
查看完整描述

3 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

如果您使用的是Python 3.5或更高版本,則可以在1行中完成此操作。


import glob


for filename in glob.iglob(root_dir + '**/*.txt', recursive=True):

     print(filename)

如文檔中所述


如果遞歸為true,則模式**將匹配任何文件以及零個或多個目錄和子目錄。


如果需要每個文件,可以使用


import glob


for filename in glob.iglob(root_dir + '**/*', recursive=True):

     print(filename)



查看完整回答
反對 回復 2019-12-11
  • 3 回答
  • 0 關注
  • 380 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號