python路径问题

发布时间 2023-07-21 21:41:42作者: 德琪

from 和 import

from module import fun
a = fun()
import module
a = module.fun()
  • 两者在效果上是等价的,区别是第一种方式只引用了 module中的 fun函数,而第二种方式引用了整个 module
from module import *
a = fun()
  • 这种方式会让开发者导入module中的所有公有类,函数,变量,从而使当前脚本中被导入了很多未知的变量名,让代码的管理变得更加复杂和不可控;

  • 如果在module脚本中定义了 __all__属性,那么from module import * 就只会导入 __all__中的变量名:

# module.py
from module import * 

__all__ = ["fun"] 
def fun():
	return True

def fun1(): 
     pass
    
# 只会导入fun,不会导入fun1

image-20230719205400812

  • ./开头,代表当前目录和文件目录在同一个目录里,./也可以省略不写;
  • ../开头:向上走一级,代表目标文件在当前文件所在的上一级目录;
  • ../../开头:向上走两级,代表父级的父级目录,也就是上上级目录,再说明白点,就是上一级目录的上一级目录;
  • /开头,代表根目录。