Day1-模块初识
模块,也叫库,分为标准库和第三方库。标准库,直接导入使用,比如import getpass;第三方库,需下载安装才能使用,比如paramiko;
一、sys模块
import sys
print(sys.path) 打印环境变量
['C:\\Users\\HW\\PycharmProjects\\G3\\day1-3.18', 'C:\\Users\\HW\\PycharmProjects\\G3', 'C:\\Users\\HW\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\HW\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\HW\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\HW\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\HW\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages'] 其中:
标准库:'C:\\Users\\HW\\AppData\\Local\\Programs\\Python\\Python36'
第三方库:'C:\\Users\\HW\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages'
sys.argv用法:sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径;
所以参数从1开始.
arg[1]表示第一个命令行参数
arg[1][2:] 表示取第一个命令行参数,但是去掉前两个字节
举例:
>>> import sys,os
>>> os.system(sys.argv[1]) #表示os.system接收命令行参数,运行参数指令
再比如命令行参数为 “--help” ,就去掉“--”,执行"help"参数。
1import sys
2def readfile(filename): #从文件中读出文件内容
3 '''''Print a file to the standard output.'''
4 f = file(filename)
5 while True:
6 line = f.readline()
7 if len(line) == 0:
8 break
9 print line, # notice comma 分别输出每行内容
10 f.close()
11# Script starts from here
12if len(sys.argv) < 2:
13 print 'No action specified.'
14 sys.exit()
15if sys.argv[1].startswith('--'):
16 option = sys.argv[1][2:]
17 # fetch sys.argv[1] but without the first two characters
18 if option == 'version': #当命令行参数为-- version,显示版本号
19 print 'Version 1.2'
20 elif option == 'help': #当命令行参数为--help时,显示相关帮助内容
21 print '''''\
22This program prints files to the standard output.
23Any number of files can be specified.
24Options include:
25 --version : Prints the version number
26 --help : Display this help'''
27 else:
28 print 'Unknown option.'
29 sys.exit()
30else:
31 for filename in sys.argv[1:]: #当参数为文件名时,传入readfile,读出其内容
32 readfile(filename)
33import sys
34def readfile(filename): #从文件中读出文件内容
35 '''Print a file to the standard output.'''
36 f = file(filename)
37 while True:
38 line = f.readline()
39 if len(line) == 0:
40 break
41 print line, # notice comma 分别输出每行内容
42 f.close()
43# Script starts from here
44if len(sys.argv) < 2:
45 print 'No action specified.'
46 sys.exit()
47if sys.argv[1].startswith('--'):
48 option = sys.argv[1][2:]
49 # fetch sys.argv[1] but without the first two characters
50 if option == 'version': #当命令行参数为-- version,显示版本号
51 print 'Version 1.2'
52 elif option == 'help': #当命令行参数为--help时,显示相关帮助内容
53 print '''\
54This program prints files to the standard output.
55Any number of files can be specified.
56Options include:
57 --version : Prints the version number
58 --help : Display this help'''
59 else:
60 print 'Unknown option.'
61 sys.exit()
62else:
63 for filename in sys.argv[1:]: #当参数为文件名时,传入readfile,读出其内容
64 readfile(filename)
在windows的cmd下:
>>> import sys
>>> print(sys.argv)
['']
在pycharm下运行:
import sys
print(sys.argv)
['C:/Users/HW/PycharmProjects/G3/作业/test.py']
二、os模块:系统创建目录,查看目录下多少个文件及文件大小等系统操作相关的
>>> import os
>>> cmd_res = os.system("dir")
驱动器 C 中的卷是 系统
卷的序列号是 C215-9FE3 C:\Users\HW 的目录 2017/04/07 16:19 <DIR> .
2017/04/07 16:19 <DIR> ..
2016/08/31 15:30 <DIR> .android
2017/03/18 14:42 <DIR> .PyCharm2016.3
2016/10/12 22:17 <DIR> .VirtualBox
2016/10/23 21:49 <DIR> .YYBox
2016/07/03 22:19 <DIR> Contacts
2017/04/14 12:24 <DIR> Desktop
2017/02/26 22:02 <DIR> Documents
...
>>> print("--->",cmd_res)
---> 0 #返回0表示命令执行成功
若想把命令执行,永久保存下来,即存到磁盘保存到文件中,
>>> import os>>> cmd_res = os.popen("dir").read() #os的popen方法保存dir命令执行结果,然后通过read显示出来
>>> print("--->",cmd_res)
三、第三方(自写)模块如何使用?比如有一个login.py模块,如何调用?

解决办法:

Day1-模块初识的更多相关文章
- 小白的Python之路 day1 模块初识
模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的. ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- Python 基础-python环境变量、模块初识及字符类型
(1).模块内置模块.第三方模块.自定义模块初识模块:sys \ os一般标准库存放路径 C:\Users\Administrator\AppData\Local\Programs\Python\Py ...
- 第四十节,requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/latest/use ...
- python之路:模块初识
python王者开发之路:模块初识 模块初识我现在讲的确有点早.不过没关系,后面我会详细说模块. 模块,也就是库,是python三剑客之一.这三剑客,函数.库和类,都是由程序编写而成的.之所以我先说模 ...
- Python模块初识
目录 一 模块初识 二 模块分类 三 导入模块 四 Python文件的两种用途 五 模板查找顺序 六 软件开发目录规范 一.模块初识 模块是自我包含并且有组织的代码片段,是一系列功能的集合体,一个py ...
- 黏包-黏包的成因、解决方式及struct模块初识、文件的上传和下载
黏包: 同时执行多条命令之后,得到的结果很可能只有一部分,在执行其他命令的时候又接收到之前执行的另外一部分结果,这种显现就是黏包. 只有TCP协议中才会产生黏包,UDP协议中不会有黏包(udp协议中数 ...
- Python学习:模块初识、数据类型
1.模块初识 在Python中,模块分为两种: (1)标准库 标准库无需安装,只要在使用的时候import就可以使用了 (2)第三方库 第三方库必须下载安装之后才能够引入使用 下面介绍两个基本的模块: ...
- python day 8: re模块补充,导入模块,hashlib模块,字符串格式化,模块知识拾遗,requests模块初识
目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. req ...
- requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 一.下载 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/lates ...
随机推荐
- String 类的实现(5)String常用函数
2 #include<iostream> 3 #include<stdio.h> 4 #include<assert.h> 5 #include <iom ...
- LoonAndroid自动检测输入框 --- Author: rose && lvyerose@163.com
LoonAndroid框架,同时给我们提供了一套自动检测输入规则的工具,用起来很是方便,下面介绍一下这个东东的使用方法(注意,该说明是基于项目已经集成了LoonAndroid框架而言,如果您未集成该框 ...
- 在多个Activity中回传值(startActivityForResult())
业务逻辑: MainActivity打开A,A打开B,B把值传回MainActivity.适用在多个Activity中回传值. 实例:微信中选择国家-->省份-->城市的实现 实现方式分析 ...
- [转]SecureCRT右键粘贴的设置
1.习惯用putty的朋友,一般都习惯鼠标右键自动粘贴的功能,对于SecureCRT6.0.2 ,这个功能也已经是默认配置了. 老版本的SecureCRT其实也有这个功能,只是不是默认设置,很多人不知 ...
- Hibernate基础学习(二)—Hibernate相关API介绍
一.Hibernate的核心接口 所有的Hibernate应用中都会访问Hibernate的5个核心接口. (1)Configuration接口: 配置Hibernate,启动Hi ...
- Struts2基础学习(五)—拦截器
一.概述 1.初识拦截器 Interceptor 拦截器类似前面学过的过滤器,是可以在action执行前后执行的代码,是我们做Web开发经常用到的技术.比如:权限控制.日志等.我们也可以将多 ...
- 使用WebView监控网页加载状况,PerformanceMonitor,WebViewClient生命周期
原理:WebView加载Url完成后,注入js脚本,脚本代码使用W3C的PerformanceTimingAPI, 往js脚本传入一个Android对象(代码中为AndroidObject),在js脚 ...
- 深入浅出数据结构C语言版(8)——后缀表达式、栈与四则运算计算器
在深入浅出数据结构(7)的末尾,我们提到了栈可以用于实现计算器,并且我们给出了存储表达式的数据结构(结构体及该结构体组成的数组),如下: //SIZE用于多个场合,如栈的大小.表达式数组的大小 #de ...
- Apache日志分割
1.cronolog安装 采用 cronolog 工具进行 apache 日志分割 http://download.chinaunix.net/download.php?id=3457&Res ...
- 【Java 并发】详解 ThreadPoolExecutor
前言 线程池是并发中一项常用的优化方法,通过对线程复用,减少线程的创建,降低资源消耗,提高程序响应速度.在 Java 中我们一般通过 Exectuors 提供的工厂方法来创建线程池,但是线程池的最终实 ...