gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:42:27 26 4
gpt4 key购买 nike

我正在尝试创建一个文本文件,其中包含某个目录中所有内容的路径和文件名。环顾四周后,看起来最好的方法是使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com