gpt4 book ai didi

python - 我是否需要将另一个目录中文件的完整路径传递给 open()?

转载 作者:IT老高 更新时间:2023-10-28 21:43:16 26 4
gpt4 key购买 nike

我有一个文件夹,里面有十个文件,我想循环访问。当我打印出文件名时,我的代码可以正常工作:

import os
indir = '/home/des/test'
for root, dirs, filenames in os.walk(indir):
for f in filenames:
print(f)

哪些打印:

1
2
3
4
5
6
7
8
9
10

但如果我尝试在循环中打开文件,我会收到 IO 错误:

import os
indir = '/home/des/test'
for root, dirs, filenames in os.walk(indir):
for f in filenames:
log = open(f, 'r')

Traceback (most recent call last):
File "/home/des/my_python_progs/loop_over_dir.py", line 6, in <module>
log = open(f, 'r')
IOError: [Errno 2] No such file or directory: '1'
>>>

我是否需要在循环内将文件的完整路径传递给 open() 它们?

最佳答案

如果您只是在单个目录中查找文件(即,您不是试图遍历看起来不像的目录树),为什么不简单地使用 os.listdir() :

import os  
for fn in os.listdir('.'):
if os.path.isfile(fn):
print (fn)

代替os.walk() .您可以指定目录路径作为os.listdir() 的参数。 . os.path.isfile()将确定给定的文件名是否用于文件。

关于python - 我是否需要将另一个目录中文件的完整路径传递给 open()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801309/

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