请问Pycharm和Python解释器得到的结果不同如何处理?
如图所示:同样的程序在Pycharm中运行正常,符合我的一切要求。可是当我使用python解释器运行的时候就报错。
后来我也找到了报错的原因,是因为 os.getcwd() 获取到的返回值在Pycharm 和 python解释器中的结果是不同的。
这样的问题我发现了好几个,比如说 pycharm 中的 sys.path 和 python 解释器中的返回值就不一样。pycharm中多了一个项目目录
为了保证程序在python解释器中的正常运行,导致我没法使用这个多出来的值。
那么问题来了。老师都说程序运行的结果以 python 解释器为准不能以pycharm为准。
岂不是说;我以后写的代码只能在pycharm中运行了吗???难道每写一个py文件都需要用python解释器在跑一遍?
像这样的情况该如何避免??? 说了那么多废话;核心诉求只有一个。
在不修改代码的情况下,如何保证py文件能同时在python解释器和pycharm中运行
本帖最后由 isdkz 于 2023-1-5 13:00 编辑
这不是在不同地方执行的问题,是工作目录的问题,你两个地方的工作目录都不一样怎么能比较呢
os.getcwd() 是用来获取当前工作目录的,也就是你在执行 python 文件的时候所在的目录,
你在 cmd 那里先切换到 pyt_bao 目录嘛,执行一下命令:
cd /d d:/py_bao
然后再执行 python 文件
建议你把 sys.path.append(os.getcwd() + '\\' + 'mm') 换成
sys.path.append(os.path.dirname(__file__))
这样就不会受工作目录的影响了 看看 你的python <绝对路径文件>只是指明了 python 需要运行文件的地方,
而你的 os.getcwd() 获取的是当前工作路径,也就是 CMD 的路径。
你把两个概念弄混淆了。
3楼说的对 建议你把 sys.path.append(os.getcwd() + '\\' + 'mm') 换成
sys.path.append(os.path.dirname(__file__))
这样就不会受工作目录的影响了
页:
[1]