利用Python怎么调用不同目录间的模块

  介绍

利用Python怎么调用不同目录间的模块?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> 1,__file__

功能:返回自身文件的相对路径

# atm.py中的代码   打印(__file__)   ,   # pycharm的执行结果   Python D: \ \ Python35 \ python.exe  D:/PycharmProjects//Atm/bin/atm.py 51作业   D: 51/PycharmProjects/作业/Atm/bin/atm.py  #打印出绝对路径   #从cmd执行atm.py    D: \ PycharmProjects \ 51 homework> python  Atm/bin/atm.py    Atm/bin/atm.py , #打印的是相对路径

从上面看,为什么pycharm中执行的结果是绝对路径,而从cmd调用python命令时显示的却是相对路径?你从pycharm的执行结果可以看的出,在pycharm执行atm.py文件时,是从绝对路径下去执行的,而你从cmd下去执行的时候,是你选择可以在哪个路径下执行,而__file__表示的是相对路径,所以在哪个路径下,就打印哪个路径。

<强> 2,os.path.abspath()

功能:返回自身文件的绝对路径

# atm.py的文件代码   import 操作系统   print (os.path.abspath (__file__))   #在cmd中的执行结果   D: \ PycharmProjects \ 51 homework> python  Atm/bin/atm.py   D: \ PycharmProjects \ \ Atm \ bin \ atm.py  51作业;#获取atm.py的绝对路径

<强> 3,os.path.dirname()

功能:返回目录名,不需要文件名

打印(os.path.dirname (, os.path.abspath (__file__),))   D: \ PycharmProjects \ \ Atm \ bin  51作业;#只返回目录名,不需要文件名

<强> 4,系统。路径

功能:python环境的执行的环境变量

import 系统   打印(sys.path)   # cmd执行的结果   [& # 39;D: \ \ PycharmProjects Atm \ \ bin \ \ \ \ 51作业# 39;,,& # 39;D: \ \ \ \ Python35 \ \ python35.zip& Python # 39;,   ,& # 39;D: \ \ Python \ \ Python35 \ \ dll # 39;,, & # 39; D: \ \ \ \ Python Python35 \ \ lib # 39;,, & # 39; D: \ \ \ \ Python Python35& # 39;,,   Python & # 39; D: \ \ \ \ Python35 \ \ lib \ \ site-packages& # 39;]

注:执行路径是列表的形式打印出来的,所以系统。路径数据类型是一个列表。

<强>三,绝对路径和相对路径

<强> 1,绝对路径

绝对路径:从根目录为起点到你所在的目录。

在祝辞祝辞import 操作系统   在祝辞祝辞,os.chdir (“D: \ \ \ \ PycharmProjects \ \ 51作业Atm \ \ bin \ \“)   在祝辞祝辞,os.listdir ()   [& # 39;atm.py& # 39;,, & # 39; __init__ . py # 39;】   在祝辞祝辞,os.path.abspath (& # 39; atm.py& # 39;)   & # 39;D: \ \ \ \ PycharmProjects \ \ 51作业Atm \ \ bin \ \ atm.py& # 39;,, #是从D盘的这个根目录下来的

<强> 2,相对路径

相对路径:从一个目录为起点到你所在的目录。

在祝辞祝辞import 操作系统      在祝辞祝辞,os.chdir (“D: \ \ \ \ PycharmProjects \ \ 51作业Atm \ \ bin \ \“)      在祝辞祝辞,os.listdir ()      [& # 39;atm.py& # 39;,, & # 39; __init__ . py # 39;】      在祝辞祝辞,os.path.dirname (& # 39; atm.py& # 39;)      & # 39;& # 39;,,#显示相对路径

<强>四,不同目录间进行模块调用

<强> 1,添加环境变量

一般情况下,绝对路径函数和相对路径函数是结合起来用的,特别是在不同目录之间相互调用彼此的模块。

利用Python怎么调用不同目录间的模块

比如按以上层级:atm.py如果想调用其他模块中的代码,必须要跟atm。py是同级的,不信请看如下代码:

# atm.py中的代码      import 系统      打印(sys.path)      # cmd执行的结果      D: \ PycharmProjects \ 51 homework> python  Atm/bin/atm.py      [& # 39;D: \ \ PycharmProjects Atm \ \ bin \ \ \ \ 51作业# 39;,,& # 39;D: \ \ \ \ Python35 \ \ python35.zip& Python # 39;,      ,& # 39;D: \ \ Python \ \ Python35 \ \ dll # 39;,, & # 39; D: \ \ \ \ Python Python35 \ \ lib # 39;,, & # 39; D: \ \ \ \ Python Python35& # 39;,,      Python & # 39; D: \ \ \ \ Python35 \ \ lib \ \ site-packages& # 39;]

利用Python怎么调用不同目录间的模块