python - 初学者Python : Writing GLOB Results to txt

标签 python glob python-2.5

我正在尝试创建一个文本文件,其中包含某个目录中所有内容的路径和文件名。环顾四周后,看起来最好的方法是使用 GLOB 函数,我能够编写一段代码来获取每个文件的路径列表:

import glob
dirlist = glob.glob('P:\MyDep\Myunit\MySection\Stuff\Reports\YR*\O*\*\*\*\*.pdf')
Bureau\Traffic\Reports\YR*\R*\*\*.pdf')
fo=open('new.txt', "w")
fo.write('\n'.join(dirlist))
fo.close()

但是,我发现自己使用 Excel 的 MID 语句从报告中提取值。理想情况下,我希望文件的基本名称包含在路径中作为元组。我提出了以下建议:

for f in glob.glob('P:\MyDep\Myunit\MySection\Stuff\Reports\YR*\O*\*\*\*\*.pdf'):
        fpath, fname = os.path.split(f)
        rname, extname = os.path.splitext(fname)
        dirtup = (f, rname)
        print dirtup

但我似乎无法将结果写入文本文件:我似乎能做的最好的事情就是生成一个文本文件,其中包含来自dirtup的一个列表(编辑以显示带建议的代码):

import glob, os
for f in f in glob.glob('P:\MyDep\Myunit\Mysection\Stuff\Reports\YR*\O*\*\*\*\*.pdf'):
    fpath, fname = os.path.split(f)
    rname, extname = os.path.splitext(fname)
    dirtup = (f, rname)
    fo=open('axlspd.txt', "w")
    fo.write(', '.join(dirtup)+'\n')
    fo.close()

如何将 dirtyup 的所有结果放入文本文件中?提前致谢。

最佳答案

问题是您多次打开该文件。使用“w”标志,文件每次打开时都会被截断,您只能看到最后一次写入的内容。

在循环之前打开文件,然后在循环之后关闭它,或者使用新奇的 with 语句:

import glob, os
with open('axlspd.txt', "w") as axlspd:
    for f in f in glob.glob('P:\MyDep\Myunit\Mysection\Stuff\Reports\YR*\O*\*\*\*\*.pdf'):
        fpath, fname = os.path.split(f)
        rname, extname = os.path.splitext(fname)
        dirtup = (f, rname)
        axlspd.write(', '.join(dirtup)+'\n')

当您退出该代码块时,该文件会自动关闭。

<小时/>

这是您错过的引用:http://docs.python.org/library/functions.html#open

The most commonly-used values of mode are 'r' for reading, 'w' for writing (truncating the file if it already exists)

关于python - 初学者Python : Writing GLOB Results to txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11453227/

相关文章:

python - 为什么我没有获得完整的索引! (Python列表)

python - 如何通过 gremlin-python 获取所有边、相关顶点以及相应的 id、标签和属性?

python - 使用 deepcopy 创建一个新对象,但新 obj 子类仍与旧 obj 共享变量

javascript - NodeJS&Glob : any number of filenames, 文件扩展名和必须由单个字符串排除的文件?

git - 忽略 git 中的目录链?

python - 使用python将字符串转换为字典

mysql - SQL查询内连接得到2个项目

python - Django-REST 序列化程序 : Queryset does not filter PrimaryKeyRelatedField results

python - 添加新列年份并提取给定文件名(pandas、glob、os)

python - 我可以在描述符的 __init__ 方法期间获得对 'owner' 类的引用吗?