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/cn.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灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP