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

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

Python PIL 從特定文件打開圖像

Python PIL 從特定文件打開圖像

胡說叔叔 2021-09-14 21:34:43
我開始掌握 Python 中的 Pillow 庫。我有一個存儲代碼的文件夾(文件夾 1),在該文件夾中還有另一個文件夾(文件夾 2),我想編輯/操作的所有圖片都在其中。但是,我只能在將圖像保存在文件夾 1 中時才能訪問這些圖像,而當它們僅保存在文件夾 2 中時則無法訪問。我已經使用了代碼:from PIL import Imageimport osfor k in os.listdir('.'):    if k.endswith('.jpg'):        i = Image.open(k)        kn, kext = os.path.splitext(k)        print(kn)打印所有文件名減去“.jpg”擴展名的名稱:MeisJeMetDeParelStarryNightTheSonOfMan然后我嘗試做同樣的事情,只從他們自己的特定文件夾中訪問圖像:for k in os.listdir('testPictures'):    if k.endswith('.jpg'):        i = Image.open(k)        kn, kext = os.path.splitext(k)        print(kn)通過將目錄更改為存儲它們的文件夾的名稱(testPictures)。但是,我收到錯誤:FileNotFoundError: [Errno 2] No such file or directory: 'MeisJeMetDeParel.jpg'因此,似乎正在訪問文件夾中的圖像,因為它已經能夠識別文件夾中第一張圖像的名稱,但是代碼無法打印圖像的名稱,因為它可以這樣做代碼和圖像都保存在一起。我可以對我的代碼進行哪些調整,以便可以打印 testPictures 文件夾中的圖片?謝謝
查看完整描述

1 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

該os.listdir函數返回一個相對于您指定的目錄的路徑,因此您必須使用os.path.join您獲得的名稱的目錄:


for k in os.listdir('testPictures'):

    if k.endswith('.jpg'):

        i = Image.open(os.path.join('testPictures', k))

        kn, kext = os.path.splitext(k)

        print(kn)

我可能會建議os.listdir您可以使用glob模塊代替手動調用和檢查擴展名,同時避免使用os.path.join目錄名稱:


import glob

for k in glob.glob('testPictures/*.jpg'):

    i = Image.open(k)

    kn, kext = os.path.splitext(k)

    print(kn)


查看完整回答
反對 回復 2021-09-14
  • 1 回答
  • 0 關注
  • 266 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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