第三十三节,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 ...
随机推荐
- python学习之glob模块
如何批量获取文件路径 import glob import os def image_proc(): for files in glob.glob('/home/xxx/filename/*.png' ...
- incomplete type is not allowed
keil环境下,报错#70: incomplete type is not allowed,解决 mqtt_conf.h 定义了一个结构体 mqtt_buffer.h #include <std ...
- 【第五篇】Volley代码修改之图片二级缓存以及相关源码阅读(重写ImageLoader.ImageCache)
前面http://www.cnblogs.com/androidsuperman/p/8a157b18ede85caa61ca5bc04bba43d0.html 有讲到使用LRU来处理缓存的,但是只是 ...
- Android Studio 初始新建项目时 build gradle project 超级慢的原因
今天项目崩溃重新新建,结果发现又奇慢无比,第一次用android studio的时候也遇到这个问题,这次也是等了近 半个小时才搞定,通过查看网络数据信息发现是 android studio 正在从美国 ...
- 第一百零一节,JavaScript流程控制语句
JavaScript流程控制语句 学习要点: 1.语句的定义 2.if 语句 3.switch语句 4.do...while语句 5.while语句 6.for语句 7.for...in语句 8.br ...
- 2016 C++及系统软件技术大会亮点
2016 C++及系统软件技术大会将于201610月28日-29日在上海举办!此次2016 C++及系统软件技术大会秉承"全球专家. 连接智慧"的理念!大会特邀C++之父Bjarn ...
- Dokan简介[转]
1. Dokan Library 简介 Dokan Library 帮助程序员在windows系统下轻松建立用户级文件系统,不需要写设备驱动,其与FUSE(Linux user mode f ...
- Python学习笔记_Chapter 7web开发
1.web应用元素 a.成员: web浏览器 web服务器 b.行为: web请求: 请求内容: 静态内容:如html文件,图像. 动态内容:需服务器运行一个程序进而做出响应. 网关接口&CG ...
- 在Wamp 添加站点和域名
在httpd.conf中使Include conf/extra/httpd-vhosts.conf生效 在conf/extra/httpd-vhosts.conf中加入如下代码 <Virtual ...
- strpos 返回0时 ,比较false 不能加单引号
$a = 'a.approve'; $num = strpos($a,'a.admin'); if(strpos($a,'a.approve') !== 'false'){ //不能加单引号.变字符 ...