Python档案袋( Sys 与 Import 模块)
Sys模块:
获取Python有关的环境变量:
1 import sys 2 3 #得到Python的一些相关路径,环境变量 4 #其中site-packages目录存放的是一些第三方库 5 #其中lib目录存放的是一些标准库 6 print(sys.path)
命令行传递参数
1 import sys 2 3 #整体以数组打印:sys.argv 4 #参数个数:len(sys.argv) 5 #脚本名:sys.argv[0] 6 #第一个参数:sys.argv[1] 7 #如 Python3 ww.py x1 x2 x3 8 print(sys.argv) #输出:['ww.py', 'x1', 'x2', 'x3'] 9 print(len(sys.argv)) #输出:4 10 print(sys.argv[1]) #输出:x1
利用flush模拟进度条:
1 import sys,time 2 for i in range(50): 3 sys.stdout.write("#-") #标准输出 4 sys.stdout.flush() #强制写出,不等待缓冲区满 5 time.sleep(0.2) #延时0.2s
其他:
1 print(sys.version) #得到Python的版本信息 2 print(sys.platform) #返回操作系统的名称,win32 3 print(sys.exit(0)) #退出程序
Import导入模块:
导入模块时会在当前路径下和环境变量(lib或者site-packages目录)里寻找
简单的导入模块
import的使用:
将模块解释并把内容赋值到一个变量中
1 #jmodel为为自定义文件模板 2 import jmodel 3 #一次性导入多个 4 #import imodel,time 5 #使用变量和方法时需要使用模块名 6 print(jmodel.jva)
from...inport....的使用:
直接将内容复制到导入处,并执行一次
1 #直接导入模块里的所有变量和方法 2 #from jmodel import * 3 4 #指定导入某个变量或方法 5 from jmodel import jva 6 7 #导入并重命名 8 #from jmodel import jva as mmjva 9 10 #使用是直接写变量名 11 print(jva)
__import__的使用:
#import time #直接导入 time=__import__("time") #使用字符串做参数导入 print(time.time()) #输出当前时间戳
列:本地模板引用:
#必须输出内容 print("---- this pydong/modelx ---------") #函数 def modelxfun(): print("***** *modelxfun to *****")
导入时使用方法一:
from pydong import modelx as modeldong #调用函数 modeldong.modelxfun()
导入使用方法二:
#此处的modeldong相当于pydong modeldong=__import__("pydong.modelx") #调用函数 modeldong.modelx.modelxfun()
导入使用方法三:
import importlib modeldong=importlib.import_module("pydong.modelx") #调用函数 modeldong.modelxfun()
包的引用:
导入包时会自动寻找到__init__.py,并执行
__init__.py:
print("------- init ---------") #定义变量 jva="112233" #导入当前包下的其他模块,执行方法需加模块名 from . import modelx
modelx.py
#定义函数 def modelfun(): print("****** modelfun *****")
main.py
#导入目录模块 #输出:------- init --------- import pydong print(pydong.jva) #输出:112233 #执行模块modelx下的modelfun()方法 pydong.modelx.modelfun()