第三十三节,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       错误相关第三十三节,sys解释器相关模块的更多相关文章
- centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB  注意down掉网卡的方法  nginx效率没有LVS高  ipvsadm命令集  测试LVS方法 第三十三节课
		
centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB ...
 - os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩
		
1.os 与操作系统相关 对文件的处理 对路径的处理 import os#主要用于与操作系统进行交互 掌握: print(os.makedirs('a/b/c'))#创建目录 可用递归创建 print ...
 - 第三百三十三节,web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies
		
第三百三十三节,web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录 模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于star ...
 - 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
		
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
 - 第三十节,正则表达式re模块
		
正则表达式 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引 ...
 - 第三十三节,目标检测之选择性搜索-Selective Search
		
在基于深度学习的目标检测算法的综述 那一节中我们提到基于区域提名的目标检测中广泛使用的选择性搜索算法.并且该算法后来被应用到了R-CNN,SPP-Net,Fast R-CNN中.因此我认为还是有研究的 ...
 - 第二百三十三节,Bootstrap表格和按钮
		
Bootstrap表格和按钮 学习要点: 1.表格 2.按钮 本节课我们主要学习一下 Bootstrap 表格和按钮功能,通过内置的 CSS 定义,显示各 种丰富的效果. 一.表格 Bootstrap ...
 - 第一百三十三节,JavaScript,封装库--弹出登录框
		
JavaScript,封装库--弹出登录框 封装库,增加了两个方法 yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面,chuang_kou_shi_jian()方法,浏览器窗口事 ...
 - [ExtJS5学习笔记]第三十三节 sencha extjs 5 grid表格导出excel
		
使用extjs肯定少不了使用表格控件,用到表格,领导们(一般)还是惯于使用excel看数据,所以用到extjs表格的技术猿们肯定也会有导出表格excel这一个需求,本文主要针对如何在用extjs将gr ...
 
随机推荐
- C++设计模式-singleton单例模式_new
			
class nocopyable { protected: nocopyable(){}; virtual ~nocopyable(){}; nocopyable(const nocopyable ...
 - PHP编程----猴子选大王
			
<?php/** * 猴子选大王 * 17个猴子围成一圈,从某个开始报数1-2-3-1-2-3---报"3"的猴子就被淘汰, * 游戏一直进行到圈内只剩一只猴子它就是猴大王了 ...
 - jq小demo—图片翻页展示效果 animate()动画
			
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
 - sql 针对拼接语句的优化
			
在日常的开发中尽量少采用拼接语句,但针对多条件联合查询,并有多字段可以偏序的情况下,的确采用拼接语句要方便简单得多,单数据库会因为传入的参数不同而产生不同的计划数,计划数多了,对数据库影响很大. 为了 ...
 - 使用MyBatis3时 selectOne 方法返回null的问题记录
			
不多废话,直接上干货. mapper配置: <resultMap type="User" id="usermap"> <result colu ...
 - 《JS权威指南学习总结--8.3 函数的实参和形参》
			
内容要点: 一.可选形参 当调用函数的时候传入的实参比函数声明时指定的形参个数要少,剩下的形参都将设置为undefined值. 例如: //将对象o中可枚举的属性名追加至数组 //如果省略a,则创建一 ...
 - ggplot2  geom相关设置—分布图
			
分布在R中应该算是个比较重要的内容,而通过画图来展示数据的分布,可以更直观的让我们了解数据的分布情况 直方图 geom_histogram(mapping = NULL, data = NULL, s ...
 - 禁止使用test类的就是禁止使用本来的$this对象.可以调用父类的对象
			
public function __construct() { parent::__construct( ); parent::__construct( ); if(!APP_DEBUG ) die( ...
 - 理解 Objective-C 的 ARC
			
英文原文:Understanding Automatic Reference Counting in Objective-C 自动引用计数(Automatic Reference Counting, ...
 - C# 编辑距离实现
			
/// <summary> /// 计算 /// </summary> /// <param name="str1"></param> ...