我有一些代码可以保存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)
我确保路径中的文件夹未在其他位置打开,并且可以访问它。如果有更简单的方法可以实现这一点,我将不胜感激。
答案 0 :(得分:0)
您并不是真正打开文件,而是在打开文件所在的路径。 您可以尝试更改:
with open (os.path.join(json_files)) as my_jf:
答案 1 :(得分:0)
我偶然发现了一个答案。如果我在目录中创建文本文件列表,则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)
我不确定是否一定要解决实际问题,但这似乎是一个合理的解决方法。
答案 2 :(得分:0)
看起来您只是忘记在open()
语句中实际包含文件名:
with open(os.path.join(json_path, jf)) as my_jf: