第三十三节,sys解释器相关模块
首先要引入import sys模块
sys.argv
功能:获取向脚本文件传入的参数,返回的列表,列表里的第一个元素是脚本文件路径和名称,后面的元素是传入的向脚本传入的参数
使用方法:sys.argv
格式如:a = sys.argv
#!/usr/bin/env python # -*- coding:utf8 -*- import sys a = sys.argv #获取脚本传入的参数 print(a) #打印出此脚本文件的文件名称和路径,和外部向此脚本文件传入的参数 #注意:在pycharm的Terminal模式下调试
在pycharm的Terminal模式下调试
输入脚本文件路径和名称,加上向脚本传入的参数 回车
就可以得到,一个列表,列表里的第一个元素是脚本文件路径和名称,后面的元素是传入的向脚本传入的参数
列2
外部向一个脚本文件传入一个参数,脚本判断传入的参数执行不同的功能
#!/usr/bin/env python # -*- coding:utf8 -*- import sys a = sys.argv #获取脚本传入的参数 if a[1] == "正确": #判断外部传入的参数 print("正确") #如果正确打印正确 else: print("不正确") #如果不正确打印不正确 #这样就可以外部向这个文件传入一个参数,判断这个参数执行不同的功能
列3
根据外部传入的参数创建一个相同名称的文件夹
os.mkdir("要创建的文件夹名称") 创建文件夹,需要import os 引入os模块
#!/usr/bin/env python # -*- coding:utf8 -*- import os import sys print(sys.argv) #打印外部向本文件脚本传入的参数 os.mkdir(sys.argv[1]) #根据外部传入的参数创建一个相同名称的文件夹
sys.path
功能:获取python的各种路径
使用方法:sys.path
格式如:a = sys.path
获取python的各种路径
# ['H:\\py\\1\\def\\1', #当前文件所在路径
# 'H:\\py', #当前工程所在路径
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\python35.zip',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\DLLs',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\lib',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\lib\\site-packages'] #第三方模块安装路径,模块要想被全局导入就要放在这个文件夹
注意:在写程序时一旦引入了模块,Python就会根据sys.path输出的路径依次去寻找引入的模块,如果有两个相同名字的模块,在以上不同的两个路径,Python就会依次从列表第一个元素路径开始,
先找到的就引入,后面路径相同名称的模块就不引入了
#!/usr/bin/env python # -*- coding:utf8 -*- import sys a = sys.path #获取python的各种路径 print(a) #打印各种路径 #输出结果 # ['H:\\py\\1\\def\\1', #当前文件所在路径 # 'H:\\py', #当前工程所在路径 # 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\python35.zip', # 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\DLLs', # 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\lib', # 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35', # 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\lib\\site-packages'] #第三方模块安装路径
给Python解释器,添加模块新路径
#!/usr/bin/env python # -*- coding:utf8 -*- import sys #引入sys模块 sys.path.append("H:\py\lib") #给Python解释器,添加模块路径 for i in sys.path: #循环出Python解释器的所有关联路径 print(i) #打印出循环的所有关联路径 import mk #引入模块文件 print(mk.dlu()) #打印执行函数
sys.exit()
功能:退出程序程序功能与exit()相同,不同的是sys.exit()需要引入sys模块,exit()可以直接使用
使用方法:sys.exit("退出提示")
格式如:sys.exit()
#!/usr/bin/env python # -*- coding:utf8 -*- import sys a = 1 if a == 1: sys.exit("退出程序") else: print("不退出程序,继续执行")
sys.version
功能:获取Python解释程序的版本信息
使用方法:sys.version
格式如:a = sys.version
#!/usr/bin/env python # -*- coding:utf8 -*- import sys a = sys.version #获取Python解释程序的版本信息 print(a) #输出 # 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)]
sys.platform
功能:返回操作系统平台名称,可以判断是什么系统
使用方法:sys.platform
格式如:a = sys.platform
#!/usr/bin/env python # -*- coding:utf8 -*- import sys a = sys.platform #返回操作系统平台名称,可以判断是什么系统 print(a) #输出 # win32 win系统
安装卸载第三方模块如django模块
第一步,运行cmd
在 cmd命令输入Python回车 进入Python程序
输入import sys 引入sys模块
输入 sys.path 打印出python程序的路径
如:
# [''C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\python35.zip',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\DLLs',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\lib',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35',
# 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\lib\\site-packages'] #第三方模块安装路径
注意:Python35\lib\site-packages 这个目录就是安装第三方模块的,第三方模块都安装在里面
然后用鼠标根据你的Python安装路径找到Python下的Scripts文件夹,这个文件夹里的pip.exe就是安装第三方模块的安装卸载器
注意:以下操作必须在Scripts目录下进行
Scripts文件夹
接下来在cmd命令输入exit()退出已链接的python程序
在cmd命令进入Python下的Scripts文件夹,
进入方法是 cd命令加上Scripts文件夹完整的路径,这个路径可以用鼠标打开Scripts文件夹然后在地址栏复制
如:cd C:\Users\admin\AppData\Local\Programs\Python\Python35\Scripts 进去这个文件夹
安装模块
接下来启动pip.exe来安装第三方模块
方法是在cmd命令输入 pip.exe install django 回车进行安装django模块
安装卸载器会自动到网上去下载来安装django模块,等待安装完成即可
说明
pip.exe (安装卸载器)
install (安装的意思)
django (第三方模块名称)
升级安装器
安装后如果提示pip安装卸载器版本太低不可用,可以的版本是x.x.x
需要升级pip安装卸载器版本
方法是在cmd命令输入 easy_install.exe pip==x.x.x 回车即可等待执行完成
说明
easy_install.exe(升级器)
pip==x.x.x (要升级的程序名称==要升级的版本号)
卸载模块
卸载第三方模块
在cmd命令输入 pip.exe uninstall django 卸载等待执行完成即可
说明
pip.exe (安装卸载器)
uninstall (卸载的意思)
django (第三方模块名称)
安装卸载第三方模块二【推荐】
说明:安装第三方模块,有两种安装方法,
第一种,是安装器pip安装,pip安装器有链接强大的模块库,能安装各种模块
安装器需要依赖 setuptools ,在安装,安装器之前先安装 setuptools
然后在安装pip3 , 安装器pip3安装后,在python安装目录的Scripts文件夹里
如果你在Scripts文件夹里,已经找到了pip3,说明你的python已经安装好了,pip3安装器,安装好了安装器的就不需要安装,setuptools 和 pip3了
安装器安装第三方模块方法
将pip3安装器,路径添加到系统环境变量里
如:C:\Users\admin\AppData\Local\Programs\Python\Python35\Scripts\pip3.exe
添加系统环境变量,鼠标右键计算机-属性-高级系统设置-环境变量-path-编辑 添加pip3.exe完整绝对路径确定即可
在运行里输入cmd,在命令行输入:pip3 install requests 回车等待安装完成 【pip3 install(安装的意思) request(第三方模块名称))】
卸载第三方插件
在命令行输入:pip3 uninstall requests 回车等待卸载完成 【pip3 uninstall(卸载的意思) request(第三方模块名称))】
第二种源码安装第三方模块
下载在好要安装的模块源码,将源码解压到容易找的地方如桌面
找到解压好的第三方模块文件夹打开,在文件夹里找到setup.py这个文件的绝对路径 注意:setup.py为安装文件
如:C:\Users\admin\Desktop\kennethreitz-requests-58d855e setup.py文件在kennethreitz-requests-58d855e文件夹里
运行cmd,在命令行输入:python 回车 看看能否启动python ,需要能启动才能安装,注意如果有多个版本,此时启动的那个版本就安装在哪个版本里
输入:exit()回车退出python
输入:cd C:\Users\admin\Desktop\kennethreitz-requests-58d855e 回车 进入解压好的模块安装目录
输入:dir 回车显示目录和文件,看看是否能看到setup.py安装文件,能看到就说明可以安装了
输入:python setup.py install 回车等待安装完成 install是安装的意思
源码安装完成
sys.stdout.write()
功能:向显示器打印输出内容【有参】循环打印不会换行
使用方法:sys.stdout.write("要输出的内容")参数\r清空打印输出【有参】
格式如:sys.stdout.write('输出内容')
进度条案例
#!/usr/bin/env python # -*- coding:utf8 -*- import time import sys a = 30 for i in range(a+1): #循环a加1次 sys.stdout.write("\r") #每次循环前清空向屏幕打印输出的数据 sys.stdout.write("%s%% %s" % (int(i/a*100), int(i/a*30)*"▆")) #向屏幕打印输出拼接的字符串百分之几和进度字符 sys.stdout.flush() #刷新缓冲区,让每次循环都打印 time.sleep(3) #每循环一次停留0.1秒 #输出 # 100% ▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆ #说明 #int(i/a*100) # 第一次循环1除以30乘以100取整数等于3% # 第二次循环2除以30乘以100取整数等于6% # 第三次循环3除以30乘以100取整数等于10% # 以此循环打印出百分比数 #int(i/a*30)*"▆" 里面的30就是打印30个进度符号 #第一次循环打印进度条▆ #第二次循环打印进度条▆▆ #第三次循环打印进度条▆▆▆ #以此循环
sys.stdin.readline()
功能:输入内容
使用方法:sys.stdin.readline()
格式如:sys.stdin.readline()[:
-
1
]
用于提供对Python解释器相关的操作:
sys.argv 命令行参数
List
,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(
0
)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的
Int
值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdin 输入相关
sys.stdout 输出相关
sys.stderror 错误相关