看板 Python 關於我們 聯絡資訊
簡單來說 我已經用os.walk列出所有子資料夾的路徑 然後當作參數進行讀取 但是讀取卻只會讀取列出來的最後一條 我要如何讓他讀取下一個路徑 有相關的教學嗎 網路上只有找到列出路徑 找不到將這些列出的路徑拿來用的方法 求詳細... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.28.62.116 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1564753688.A.038.html
tsaiminghan: 你還是把code貼出來吧08/02 22:27
※ 編輯: s4028600 (125.230.135.251 臺灣), 08/02/2019 22:44:35
s860134: 所以你要想辦法讓你的其他操作活在和 print (dirPath)08/02 23:47
s860134: 在同一個 for 的 scope 內08/02 23:48
s860134: 也就是,你要寫出一個雙層 for loop,用 for 包 for08/02 23:49
s860134: 一開始不習慣就去寫個 99 成法表吧08/02 23:49
s4028600: 但是資料夾名稱不是數字...08/03 01:12
s4028600: 而且代碼被分開第一段和最後一段 這要怎麼辦...08/03 01:13
s4028600: 99乘法的寫法會變成路徑加路徑 不然就是錯誤08/03 21:24
s860134: https://pastebin.com/gjTvdXbn08/03 23:41
s860134: 你還是多寫幾次 99 乘法表吧,因為這根本就是同一件事08/03 23:42
s860134: 加幾個縮排就解決了08/03 23:43
這我試過 但會變成 ======================= RESTART: D:\long\Desktop\測試.py ===================== == D:\long\Desktop\image\ Traceback (most recent call last): File "D:\long\Desktop\測試.py", line 21, in <module> isJpg = is_valid_jpg(pic_file) File "D:\long\Desktop\測試.py", line 5, in is_valid_jpg with open(jpg_file, 'rb') as f: PermissionError: [Errno 13] Permission denied: 'D:\\long\\Desktop\\image\\\\zx cvbn' 所以以為不能這樣縮排 翻譯好像是權限不足? 但是用系統管理身份也無法執行... ※ 編輯: s4028600 (125.230.135.251 臺灣), 08/04/2019 00:13:03
s4028600: 99乘法是指 08/04 00:17
s4028600: george.tw/2017/11/27/python_note-3/ 08/04 00:17
s4028600: 呃...很難懂... 08/04 00:18
s860134: 所以你知道權限不足不是python 的問題想辦法解決 08/04 00:34
s860134: 看到 code 不能執行要知道為啥 不見得是code有錯 08/04 00:36
s860134: 複製別人的 code 和自己寫出來是兩件事情 08/04 00:38
s860134: 迴圈處理資料夾或檔案和寫 99 乘法表完全是依樣概念08/04 00:39
s4028600: 權限不足無法解決...不管是系統管理員還是檔案關閉都不 08/04 01:59
s4028600: 行...08/04 01:59
s4028600: 原因找到了...應該... 可能是因為開啟目錄而不是文件所08/04 05:39
s4028600: 以權限不足 那我就真的沒法了 畢竟我連代碼都看不懂...08/04 05:39
以下要用整頁模式才能看調整中 請求分析 import os def is_valid_jpg(jpg_file): with open(jpg_file, 'rb') as f: f.seek(-2, 2) buf = f.read() return buf == b'\xff\xd9' def is_valid_png(png_file): with open(png_file, 'rb') as f: f.seek(-2, 2) buf = f.read() return buf == b'\x60\x82' for dirPath, dirNames, fileNames in os.walk("D:\long\Desktop\image\\"): # 利用os.walk取得路徑dirPath是根目錄dirNames是子目錄fileNames是檔案 print (dirPath) #打印dirPath path =(dirPath+"\\") #設定根目錄+"\\"為path for file in os.listdir(path): #迴圈path的子目錄到file pic_file = path + file #path+path的子目錄 isJpg = is_valid_jpg(pic_file) #下面這3行真的看不懂意思... isPng = is_valid_png(pic_file) print("jpeg : %s, png %s, file %s " % (isJpg, isPng, file)) os.system("pause") #停止 以上也不知道我理解的對不對 希望一點補充 ※ 編輯: s4028600 (125.224.166.100 臺灣), 08/04/2019 05:57:12 ※ 編輯: s4028600 (125.224.166.100 臺灣), 08/04/2019 05:58:33 ※ 編輯: s4028600 (125.224.166.100 臺灣), 08/04/2019 06:01:27
s860134: 你在這邊等答案的時間都夠你把 python 學到一定程度了 08/04 10:45
s4028600: 因為有些自學也看不懂 所以才要問啊... 08/04 19:58