Open luckydxx opened 5 years ago
可以参考下面的打开文件的方式,注意看注释
from os import path
import json
def load_file():
'''
1.
下面是常用的获取文件路径的方式,要确保 tang300.json 跟当前文件在同一文件夹下,这两种方式等价
file_path = path.join(path.dirname(path.abspath(__file__)), './tang300.json')
'''
file_path = path.join(path.dirname(path.abspath(__file__)), 'tang300.json')
print('当前文件路径:', __file__, '\n读取文件路径:', file_path)
'''
2.
这种方式表示 tang300.json 在当前文件的上一级目录
file_path = path.join(path.dirname(path.abspath(__file__)), '../tang300.json')
print(__file__, file_path)
3.
这种方式表示 tang300.json 在当前文件的上一级目录的 data 文件夹下
file_path = path.join(path.dirname(path.abspath(__file__)), '../data/tang300.json')
print(__file__, file_path)
'''
'''
读取文件时如果抛出 decode error 之类的错误可以用下面的两种方式替换
1. with open(file_path, 'rb') as f:
2. with open(file_path, 'r', encoding='utf-8') as f:
'''
with open(file_path, 'r', encoding='utf-8') as f:
return json.load(f)
建议了解一下相对路径
以及绝对路径
的区别,你会发现新大陆的。
我看了很多同学的作业,同样都导入了json。但是在我使用open 命令的时候,必须要输入完整的路径如:with open('I:/Github/selfteaching-python-camp/exercises/1901050045/d09/mymodule/tang300.json',encoding='UTF-8') as f:
而我看其他同学的作业都是with open('tang300.json','r',encoding='UTF-8').我尝试用他们的方法,打不开。提示是:FilenotfoundError:[Errno 2] No such file or directory:'tang300.json'
请问这是因为什么原因