[問題] 路徑與字串之間的問題

看板Python作者 (yorker)時間9年前 (2016/06/26 02:53), 9年前編輯推噓0(0013)
留言13則, 6人參與, 最新討論串1/1
如題 python純新手>< 環境:win10 ipython3 & c:\user\desktop\test\image\aaa.jpg 要做一個把圖片複製編碼的程式 在test裡執行這個test.py 要用split指令 把aaa bbb ccc多個圖片的檔名 分割成 'image\' 和 '檔名.jpg'兩個部分 最後把複製的名稱 設成 image\target_dir\1.jpg 這樣子 遇到的錯誤是 test,filename = f.split('\') 這邊我本來只打一個 \ 後來改成\\ 即可 書上是寫 \ 一個而已... 最後成功的指令碼 for f in allfiles: listtest=f.split() print(listtest) #想到用這2行debug 把圖片檔名的字串列印出來 dirname,filename = .f.split('\\') mainname,extname = .filename.split('.') targetfile = target_dir + '\\' + str(imageno) + '.' + extname #這裡我也改成兩個才行 shutil.copyfile(f, targetfile) imageno += 1 想問的是 \ 是因為作業系統不同 還是因為是字串 (只學過c,字串裡是要2個\\ 沒錯) 的關係 不知道是書本錯還是其他問題@@ 不好意思手機排版 可能不太好閱讀.. -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.80.55 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1466880838.A.014.html

06/26 03:02, , 1F
書本錯. '\\' 或 r'\' 都可以. 推後面那種
06/26 03:02, 1F
問一下b大那個 r 是什麼意思0.0? ※ 編輯: Neverfor (111.82.80.55), 06/26/2016 03:11:54

06/26 04:04, , 2F
r 表示 raw 格式,用 r 基本上就無須特別加上跳脫字元
06/26 04:04, 2F

06/26 04:04, , 3F
你可以自己測試一下
06/26 04:04, 3F

06/26 04:05, , 4F
path = r'c:\Program Files\Microsoft Office'
06/26 04:05, 4F

06/26 04:05, , 5F
然後用 print 顯示 path 變數看看
06/26 04:05, 5F

06/26 11:20, , 6F
這什麼爛書, 沒人這樣用 Python 處理路徑的
06/26 11:20, 6F
回u大 何敏煌的從初學到活用 他是前面幾章的範例 還沒教到字串 串列跟函數 我想說要先看懂哈哈 ※ 編輯: Neverfor (111.83.8.157), 06/26/2016 13:08:30 ※ 編輯: Neverfor (111.83.8.157), 06/26/2016 13:13:16 請問這本書評價? 查資料 跟版上沒什麼評論 ※ 編輯: Neverfor (111.83.8.157), 06/26/2016 13:14:18

06/26 13:18, , 7F
看作者自介感覺不是好書, 他自己根本不寫 Python 啊...
06/26 13:18, 7F

06/26 14:35, , 8F
python內建就有包含路徑處理的模組os啦... 不用這樣自幹
06/26 14:35, 8F

06/26 14:35, , 10F
.html
06/26 14:35, 10F

06/26 14:37, , 11F
06/26 14:37, 11F

06/26 15:09, , 12F
謝謝!
06/26 15:09, 12F

06/27 02:16, , 13F
我剛學 python 也是這樣處理路徑 (爆笑
06/27 02:16, 13F
文章代碼(AID): #1NRjD60K (Python)
文章代碼(AID): #1NRjD60K (Python)