- 我们再写脚本的时候,如果通篇放在一个脚本里面,那么你会很少关注这个问题,但是通常我们会见函数/类按照功能等进行模块化,并放在不同的python文件中进行相互调用,这时候就需要考虑相对路径与绝对路径的问题了。
绝对路径,这个比较好理解,终端环境下输入pwd,可显示当前所处的绝对路径。
>pwd
C:\users\script
在脚本内部如果全部用绝对路径,对于单一开发者来说不会出现路径/文件找不到的问题,但是如果你写的代码经常需要迁移或者共享,就需要考虑使用相对路径了。
在Linux中,
-
.
表示当前目录, -
..
表示上一级目录。 -
-
表示上次所在目录, -
~
表示当前用户的“home”目录。
sys.path.append(script_path), 可以将需要调用的模块的路径添加到当前环境路径下。
绝对路径与相对路径同时使用
思路:
-
cur_path = os.getcwd()
获取脚本所在用户下的绝对路径, -
os.path.join(cur_path, "static")
从绝对路径下的static获取文件。
#当前文件的路径
pwd = os.getcwd()
#当前文件的父路径
father_path=os.path.abspath(os.path.dirname(pwd)+os.path.sep+".")
#当前文件的前两级目录
grader_father=os.path.abspath(os.path.dirname(pwd)+os.path.sep+"..")
另一种思路:
cur_path = os.getcwd()
-
os.chdir(cur_path)
将工作路径,改为脚本所在的绝对路径。
网友评论