Sys 模块:
获取 Python 有关的环境变量:
- import sys
- #得到 Python 的一些相关路径, 环境变量
- #其中 site-packages 目录存放的是一些第三方库
- #其中 lib 目录存放的是一些标准库
- print(sys.path)
命令行传递参数
- import sys
- #整体以数组打印: sys.argv
- #参数个数: len(sys.argv)
- #脚本名: sys.argv[0]
- #第一个参数: sys.argv[1]
- #如 Python3 ww.py x1 x2 x3
- print(sys.argv) #输出:['ww.py', 'x1', 'x2', 'x3']
- print(len(sys.argv)) #输出: 4
- print(sys.argv[1]) #输出: x1
利用 flush 模拟进度条:
- import sys,time
- for i in range(50):
- sys.stdout.write("#-") #标准输出
- sys.stdout.flush() #强制写出, 不等待缓冲区满
- time.sleep(0.2) #延时 0.2s
其他:
- print(sys.version) #得到 Python 的版本信息
- print(sys.platform) #返回操作系统的名称, win32
- print(sys.exit(0)) #退出程序
Import 导入模块:
导入模块时会在当前路径下和环境变量 (lib 或者 site-packages 目录) 里寻找
简单的导入模块
import 的使用:
将模块解释并把内容赋值到一个变量中
- #jmodel 为为自定义文件模板
- import jmodel
- #一次性导入多个
- #import imodel,time
- #使用变量和方法时需要使用模块名
- print(jmodel.jva)
from...inport.... 的使用:
直接将内容复制到导入处, 并执行一次
- # 直接导入模块里的所有变量和方法
- #from jmodel import *
- #指定导入某个变量或方法
- from jmodel import jva
- #导入并重命名
- #from jmodel import jva as mmjva
- #使用是直接写变量名
- 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()
Python 档案袋( Sys 与 Import 模块)
来源: http://www.bubuko.com/infodetail-2988968.html