Python 板


LINE

※ 引述《QooEX (QooEX)》之銘言: : 我有大量的TXT檔案想用 file= open('xxx'.'r') : 讀取近來全部放到list內部排序 : 問題來了 前面xxx的部分 我是用抓內部資料夾全部的檔名出來去設置 : 所以'' 以我目前的知識跟常識來說 是不可能放變數的 : 例如:我將檔名抓出來 找個空間放 A=檔名 但是不可能放進''內 : 所以我的解決想法是 : ccc=os.listdir('C:/new')[0] os.listdir包含了資料夾,如果你的檔案資料夾裡面包含子資料夾的話可能會爆炸 (IsADirectoryError) 可以考慮使用os.walk[1]或是使用os.listdir[2]配合os.path.isfile驗證 [1] https://docs.python.org/2/library/os.html#os.walk [2] https://docs.python.org/2/library/os.path.html#os.path.isfile : def new(str): : return "%s%s%s" %('\'C:/new/',ccc,'\'') 你的問題出在字串的處理上: Python用雙引號或是單引號去表示字串,單雙引號是寫給Python看的,再加'(\')是告訴 Python你希望在字串表示單引號,所以假設你的ccc變數是"ccc"上面的程式結果會是 'C:/new/ccc' ^ ^ 前後這單引號被當程檔案的路徑的一部分了,所以會出錯 你應該寫成: def new(ccc): return "%s%s" %("C:/new/",ccc) 字串連結能寫得更簡潔: def new(ccc): return "C:/new/" + ccc 關於檔案路徑Python有提供os.path.abspath跟os.path.join幫你處理,所以這段能寫成 from os.path import join, abspath def get_path(directory, file): return abspath(join(directory, file)) : file1 = open(new(ccc),r) : 上面去呼叫的 : 有print出來看 是正確的'位址 ' : 置換出 error前面出現顯示的路徑 : 直接替換 我上面new地方也是可以執行的 : 請問是哪裡有錯 : 或是有甚麼方式可以解決 綜合前面的資訊,你可以寫成 import os from os.path import join, abspath def get_path(directory, file): return abspath(join(directory, file)) # Put your directory here directory = "C:/path/to/your/directory" directories = os.walk(directory) text_list = [] for directory, _, files in directories: for a_file in files: file_path = get_path(directory, a_file) with open(file_path, 'r') as f: text_list.append(f.read()) 這樣跑完text_list應該就是你要的結果 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.153.159
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1462129725.A.7DA.html ※ 編輯: doomleika (59.126.153.159), 05/02/2016 03:11:34 ※ 編輯: doomleika (59.126.153.159), 05/02/2016 03:17:45
1F:→ uranusjr: 每次看到這種程式就要推一次 Python 3, 寫起來簡單多了 05/02 03:51
2F:→ doomleika: 請問Python 3要怎麼寫 ._.? 05/02 10:34
3F:推 QooEX: 感謝願意花這麼多時間回文>< 05/02 16:51
4F:推 QooEX: 真的超厲害 ~再推一次 05/02 17:00







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP