在for循环中打开多个json文件

2024-04-27 14:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些保存json文件并将其打印到屏幕上的代码。我正在试图找到一个最佳的方法来遍历一个文件目录,一个接一个地打印一个文件,但是我收到了一个“[Errno 13]Permission Denied”错误

目前我正在做以下工作:

json_path = 'MYPATH'
json_files = [f for f in os.listdir(json_path) if f.endswith('.json')]

for jf in json_files:
    with open (os.path.join(json_path)) as my_jf:
        json_text = json.load(my_jf)
        print(json_text)

我已确保路径中的文件夹未在其他位置打开,并且我有权访问它。如果有一个更简单的方法来实现这一点,我将感谢您的投入


Tags: 文件path方法代码textinjsonfor
3条回答

看起来您只是忘记了在open()语句中包含文件名:

with open(os.path.join(json_path, jf)) as my_jf:

我偶然发现了这样一个答案。如果我在json.load请求的目录中创建一个文本文件列表:

my files = ['file1.txt', 'file2.txt']

for file in myfiles:
    with open(file) as json_file:
    jsonconvo = json.load(json_file)
    print(jsonconvo)

我不确定我是否必须克服实际问题,但这似乎是一个合理的解决办法

您并不是真正打开文件,而是打开文件所在的路径。 你可以尝试改变:

with open (os.path.join(json_files)) as my_jf:

相关问题 更多 >