是这样的,想做一个中文名生成工具。
Toolbox
|--cn_name.json
|--g.py
其中 cn_name.json
是我根据大量真人姓名提取出的特征数据,包括使用频次、性别倾向、用于中间字还是尾字等等。
然后 g.py
里打开上述 json 文件,并执行生成。
然后在B 路径的其它文件中,我
sys.path.append(root)
from Toolbox.g import ChineseName
,运行后会提示当前目录下没有 cn_name.json
,我理解它是在B 路径下找不到这个 json,但这到底该用啥姿势载入啊?
我是美工,各位多担待。
1
Arnie97 2018-05-23 00:30:20 +08:00 via Android 1
因为“打开文件”这个操作并不是按照 sys.path 来找的,而是只有当前路径。导入模块才会在 sys.path 里查找。
import os.path here = os.path.abspath(os.path.dirname(__file__)) json_path =os.path.join(here, 'cn_name.json') |
2
Sylv 2018-05-23 00:32:40 +08:00 via iPhone 1
在 g.py 里这样获取 cn_name.json 的路径:
toolbox_path = os.path.dirname(os.path.abspath(__file__)) cn_name_path = os.path.join(toolbox_path, "cn_name.json") |
3
q9REUgpVVCU77pWj OP 搞定了 感谢两位
|