【Python】路径(绝对路径、相对路径,当前工作目录),模块搜索路径(添加),Python安装路径,补充:cmd(命令行窗口)运行Python文件
Python中经常用到路径,比如:文件路径(读取文件,保存文件等),模块搜索路径(导入其他模块),Python安装路径。
而路径有两种:绝对路径,相对路径。在当前工作目录下的文件可使用相对路径,不在当前工作目录下必须使用绝对路径,否则会报错或者找到错误文件。
Python导入其他模块并使用其函数或类方法时,Python默认会去模块搜索路径中搜索导入的模块,若不在搜索路径则报错。可以临时或永久的添加到模块搜索路径。
在Windows系统中可使用cmd(命令行窗口)通过python命令运行python文件(涉及安装目录配置环境变量,相对路径、绝对路径)。
【注:文件夹即目录,一个python文件(扩展名.py)即一个模块】
所以,本文主要内容:
- 简单介绍绝对路径和相对路径,如何获取或修改当前工作目录,判断是否是绝对路径,相对路径如何转为/拼接为绝对路径。
- 查看默认模块搜索路径,如何临时或永久的将自己的目录添加到模块搜索路径中。
- 如何获取python安装路径。
- 补充:Windows系统中如何使用cmd运行python文件。
绝对路径、相对路径
① 绝对路径:也是完整路径。
② 相对路径:相对于当前工作目录的路径。
当前工作目录
当前工作目录是当前python运行时所处的目录,是相对路径的参照点。
获取当前工作目录:
import os
os.getcwd()
修改当前工作目录:
os.chdir(新工作目录)
判断是否是绝对路径
os.path.isabs(路径)
相对路径转为绝对路径
# 直接转为绝对路径
os.path.abspath(相对路径)
# 拼接路径, 返回绝对路径
os.path.join(os.getcwd(), 相对路径)
Python文件经常需要使用其他模块的函数或类的方法,需要在文件开头导入相应的模块,python会去模块搜索路径下查找该模块文件,若没有找到该模块,则会报错。也可以导入自己写的模块,但该模块不一定在默认的模块搜索路径下,也因此不一定导入成功。
查看模块搜索路径
import sys
sys.path
我把自己写的python文件放在自己的目录下(G:\Python\my_modules\normal),该目录下有个python文件total.py,内容为一个简单加法运算(total函数)。目前该目录不在默认的模块搜索路径中,则无法导入该目录下的total模块,也无法使用模块中的total函数。
将自己的目录添加到模块搜索路径中
可将自己的目录添加到模块搜索路径中,其他python文件就可以导入该模块,使用该模块下的函数等。可临时添加,也可永久添加。
临时添加到模块搜索路径:
注:只在当前运行的python程序中有效,程序结束路径失效。若是IDE,则当前IDE有效,打开的其他IDE无效,当前IDE关闭后重新打开也失效。
sys.path.append(需要添加的目录)
永久添加到搜索路径:
- 找到python安装路径下的site-packages目录:E:\Program Files (x86)\python\Lib\site-packages。
- 新建PTH文件。若已新建过该文件,可直接往PTH文件中添加。
- 将需要添加的目录(G:\Python\my_modules\normal)输入到该PTH文件中。【注:一行一个路径】
注:python会自动读取PTH文件,并将文件中的路径添加到sys.path。
Python安装路径
获取Python安装路径:
import sys
sys.executable
补充:Windows系统下可使用cmd(命令行窗口)运行Python文件
注:在任意目录下使用python命令运行Python文件,需将python安装目录添加到环境变量。
- 获取python安装路径(sys.executable)。
- 将python安装目录添加到环境变量。
作者:yannan20190313