python导⼊上级⽬录_Python导⼊上⼀级下⼀级任⼀级⽬录下
的.py⽂件问题
有如下⽬录:
-python
----file1
---------file1_1
------------------pfile1_1.py
---------pfile1.py
python怎么读文件夹下的文件夹----file2
---------pfile2.py
----pfile.py
-
---data.py
即python⽂件夹下有file1, file2, pfile.py, data.py,⽂件夹file1下⼜有file1_1, pfile1.py, ⽂件夹file2下有pfile2.py,⽂件夹file1_1下⼜有pfile1_1.py。
1.导⼊下⼀级/多级⽬录
在⽂件pfile.py中导⼊pfile1.py, pfile2.py或 pfile1_1.py,并使⽤其中的函数(假设函数名分别⽂fun1(), fun2(), fun1_1()):
# 当前路径:/home/puxitong/python/
# 导⼊同级⽬录下的data.py
import data
# 导⼊下⼀级⽬录file1下的pfile1.py
from file1 import pfile1
pfile1.fun1()
# 导⼊下⼀级⽬录file2下的pfile2.py
from file2 import pfile2
pfile2.fun2()
# 导⼊下⼀级⽬录file2下的pfile1.py中的函数fun1()
from file1.pfile1 import fun1
fun1()
# 导⼊下两级⽬录file1/file1_1/下的pfile1_1.py
from file1.file1_1 import pfile1_1
pfile1_1.fun1_1()
可以看出,导⼊同级⽬录下的⽂件时,格式为:
import ⽂件名
导⼊下⼀级⽬录下的⽂件时,格式为:
from ⽂件夹名 import ⽂件名
导⼊下⼆级⽬录下的⽂件时,格式为:
from 下⼀级⽂件夹名.下⼆级⽂件夹名 import ⽂件名
导⼊下多级⽬录下的⽂件时以此类推,即:
from ⽂件夹1.⽂件夹2.⽂件夹3. .. .⽂件夹n import ⽂件名
需要注意的是,这种导⼊⽅式下,如果要⽤导⼊的⽂件中的函数或者类,需要在其前⾯加上⽂件名,即 "⽂件名.函数名" 的形式。
我们也可以只导⼊需要的函数或类,格式为:
from ⽂件夹名.⽂件名 import 函数1,函数2,类1,…
有些教程⾥⾯说,需要在下⼀级⽬录下新建⼀个空的python⽂件命名为 __init__.py,但我在运⾏时发现不建⼀个⽂件也会导⼊成功。
2.导⼊上⼀级/任⼀级⽬录
-python
----file1
---------file1_1
------------------pfile1_1.py
---------pfile1.py
----file2
---------pfile2.py
----pfile.py
----data.py
如果要在pfile1.py中调⽤pfile.py 和 pfile2.py,因为当前路径是 '/home/puxitong/python/file1/' ,⽽ pfile.py和pfile1.py在路
径'/home/puxitong/python/' 及其⼦路径下,这⾥的思路是将上⼀级⽬录 '/home/puxitong/python/' 添加在系统路径中,可以直接访问pfile.py,然后将pfile2.py 按照下⼀级路径导⼊⽅式进⾏导⼊:
# 当前路径:/home/puxitong/python/file1/
# 导⼊pfile.py前先将其路径添加到系统路径中
import sys
sys.path.append('/home/puxitong/python/')
# 导⼊pfile.py
import pfile
# 导⼊pfile2.py
from file1 import pfile2
如果要在pfile1_1.py中导⼊pfile.py, pfile1.py, pfile2.py呢? 原理是⼀样的,即将⽂件pfile.py所在路径添加到系统路径中,可直接导⼊pfile.py, 再按照下级⽂件导⼊⽅式导⼊pfile1.py和pfile2.py:
# 当前路径:/home/puxitong/python/file1/file1_1/
# 导⼊pfile.py前先将其路径添加到系统路径中
import sys
sys.path.append('/home/puxitong/python/')
# 导⼊pfile.py
import pfile
# 导⼊pfile1.py
from file2 import pfile1
# 导⼊pfile2.py
from file2 import pfile2
⾃然地,导⼊任意.py⽂件时,只需要在导⼊该⽂件前⽤
sys.path.append('该⽂件所在的绝对路径')
将该⽂件所在的绝对路径添加到系统路径中,再进⾏同级⽬录或下级⽬录导⼊⽅式导⼊即可.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论