乐趣区

关于python:python-工作路径问题全解析

何为以后门路?

所谓的以后门路到底是输出命令的门路还是 py 脚本文件所在的门路?

  • 子疑难:为什么在 pycharm 中运行单元测试是失常的?但还是在终端运行就呈现了导包谬误?
  • 子疑难:Pycharm 中运行失常, 然而终端运行呈现谬误:ModuleNotFoundError: No module named

疑难一 👉🏻:python 程序的以后门路是执行 python 脚本等门路还是 python 脚本说在的门路?

即执行上面的命令的时候,所谓的以后门路是 testing 文件夹说在的门路还是 main.py 文件所在门路。

python testing/main.py

✅ 答案:以后门路是 py 文件所在的门路,而不是输出运行命令的门路。

对于👇上面的命令,是无所谓辨别这两个门路的,然而下面的门路就不一样了

python main.py

晓得这个常识对写程序避坑有什么帮忙?

接下往下看吧!

疑难二 👉🏻:这个以后门路的区别会影响什么?
✅ 答案:导包,即 importfrom import 操作。

疑难三 👉🏻:如何查看 Python 的导包门路?

  • 子疑难:python 的导包程序是什么?
  • 子疑难:python 导包的时候会去哪些文件夹下查找 package?
  • 子疑难:python 导包的时候会去哪些门路下查找 package?

就应用上面的代码查看能够查看

import os
import sys

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

输入如下:

/Users/bot/Desktop/code/work/python/django/lsh/testing
['/Users/bot/Desktop/code/work/python/django/lsh/testing', '/Users/bot/Desktop/code/work/python/django/lsh', '/Applications/PyCharm.app/Contents/plugins/python/helpers/pycharm_display', '/Applications/PyCharm.app/Contents/plugins/python/helpers/pycharm', '/opt/homebrew/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python38.zip', '/opt/homebrew/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8', '/opt/homebrew/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload', '/Users/bot/Library/Caches/pypoetry/virtualenvs/lsh-server-wvHQATJn-py3.8/lib/python3.8/site-packages', '/Applications/PyCharm.app/Contents/plugins/python/helpers/pycharm_matplotlib_backend']

❓ 疑难二:如何扭转 Python 程序的执行时候的以后门路?

  • 子疑难:如何批改 Python 的导包门路?
  • 子疑难:如何批改 Python 的导包门路?
退出移动版