第三十三节,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模式下调试

输入脚本文件路径和名称,加上向脚本传入的参数  回车

就可以得到,一个列表,列表里的第一个元素是脚本文件路径和名称,后面的元素是传入的向脚本传入的参数

第三十三节,sys解释器相关模块

列2

外部向一个脚本文件传入一个参数,脚本判断传入的参数执行不同的功能

#!/usr/bin/env python
# -*- coding:utf8 -*-
import sys
a = sys.argv #获取脚本传入的参数
if a[1] == "正确": #判断外部传入的参数
print("正确") #如果正确打印正确
else:
print("不正确") #如果不正确打印不正确
#这样就可以外部向这个文件传入一个参数,判断这个参数执行不同的功能

第三十三节,sys解释器相关模块

列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       错误相关
上一篇:python基础-5.2装饰器


下一篇:在配置文件(.settings、.config)中存储自定义对象