python 目录巴拉巴拉

1. 这么多年,python 的目录机制也一直没有深究过,但今天运行《End-to-End Differentiable Proving》里的代码时,报错“找不到 ntp 模块”,就在代码开头加了巴拉巴拉。

2. 而且那啥,原来在 cmd 下运行 python ntp/experiments/learn.py 和进入 ntp/experiments 这个目录下再运行 python learn.py 会在读文件方面产生差异。

====================================================

头部加入 5 行代码,查看路径是否在环境变量中。

import sys
print( sys.path )
import os
sys.path.append( os.getcwd() ) 
print( sys.path )

from ntp.kb import Atom, load_from_file, normalize
from ntp.nkb import kb2nkb, augment_with_templates, embed_symbol, rule2struct
from ntp.prover import prove, representation_match, is_tensor, is_parameter, neural_link_predict
from ntp.tp import rule2string
import tensorflow as tf
from pprint import pprint

运行代码 ntp-master > python ntp\experiments\learn.py(记得要在 ntp-master 目录下)

[ 'C:\\...\\ntp-master\\ntp-master\\ntp\\experiments', ... ]
[ 'C:\\...\\ntp-master\\ntp-master\\ntp\\experiments', ... , 'C:\\Users\\...\\ntp-master\\ntp-master' ]

如果在 ntp-master\ntp\experiments 目录下运行 python learn.py 依旧会报错,这是因为当前工作空间是 ntp-master\ntp\experiments。

[ 'C:\\...\\ntp-master\\ntp-master\\ntp\\experiments', ... ]
[ 'C:\\...\\ntp-master\\ntp-master\\ntp\\experiments', ... , 'C:\\...\\ntp-master\\ntp-master\\ntp\\experiments' ]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值