Python学习17——py文件的两种用途、模块的搜索
python文件的两种用途:
一:脚本,一个文件就是整个程序,用来被执行
二:模块,文件中存放着一堆功能,用来被导入使用
python为我们内置了全局变量__name__,
当文件被当做脚本执行时:name 等于’main’
当文件被当做模块导入时:__name__等于模块名
作用:用来控制.py文件在不同的应用场景下执行不同的逻辑
if __name__ == '__main__':
示例
#fib.py
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while b < n:
print(b, end=' ')
a, b = b, a+b
print()
def fib2(n): # return Fibonacci series up to n
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result
if __name__ == "__main__":
import sys
fib(int(sys.argv[1]))
#执行:python fib.py <arguments>
python fib.py 50 #在命令行
(1) 先从内存中已经导入的模块里找
import mmm
mmm.f1()
import time
time.sleep(15)
print('='*50)
import mmm
mmm.f1()
(2) 然后再查找内置的模块
import sys
print(sys.modules)
import sys
print(sys.path)
当前执行文件所在的文件夹
import logging
print(logging)
(3) 最后去sys.path列表中存放的多个文件夹里依次检索
示例1:
import sys
print(sys.path)
sys.path.append(r'D:\python全栈15期\aaa\bbb')
import ccc
ccc.f1()
示例2:
import sys
print(sys.path)
import aaa.bbb.ccc as c
c.f1()
from aaa.bbb import ccc
ccc.f1()