Python day2
一、模块初识
便捷目录:
sys.path 获取指定模块搜索路径的字符串集合(当前是sys)
sys.argv 从外部程序向内部程序传递参数
sys.getdefaultencoding() 获取当前系统编码
sys.getfilesystemencoding()
获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
sys模块:
1.环境(安装在了D:\\Anacinda3,python3.5)
2.sys模块常见函数作用
(1) sys.path 获取指定模块搜索路径的字符串集合(当前是sys)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.path)
执行上述代码得到当时我sys模块的环境,pycharm下打印出绝对路径,cmd下打印相对路径
得到的结果
['D:\\Python_train\\day2',
'D:\\Python_train',
'D:\\Anaconda3\\python35.zip',
'D:\\Anaconda3\\DLLs',
'D:\\Anaconda3\\lib', #这里存放标准库
'D:\\Anaconda3',
'D:\\Anaconda3\\lib\\site-packages', #需要的第三方库可以直接导入到这里就可以使用了
'D:\\Anaconda3\\lib\\site-packages\\Sphinx-1.4.6-py3.5.egg',
'D:\\Anaconda3\\lib\\site-packages\\win32',
'D:\\Anaconda3\\lib\\site-packages\\win32\\lib',
'D:\\Anaconda3\\lib\\site-packages\\Pythonwin',
'D:\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.5.egg']
(2)sys.argv 从外部程序向内部程序传递参数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.argv) 8 print(sys.argv[0]) 9 print(sys.argv[1]) 10 print(sys.argv[2]) 11 print(sys.argv[3])
从外部程序中传递参数给这个argv第一次返回在0位置上的test.py,第二次返回在1位置上的1,以此类推可以应用到测试的时候给程序传递参数就可以知道要执行什么操作
在cmd里运行这个文件,同时给test传递三个参数,运行结果如下
(3)sys.getdefaultencoding() 获取当前系统编码
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 encoding = sys.getdefaultencoding()#获取系统当前编码 8 print(encoding)
如上所述:获取系统当前编码,运行结果如下
(4)sys.getfilesystemencoding()
: 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 encoding = sys.getfilesystemencoding()#获取获取文件系统使用编码方式 7 print(encoding)
执行结果如下
(5)sys.platform 获取当前系统平台
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.platform)#获取当前系统平台
运行如下
(6)sys.stdin\stdout\stderr
stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们(括弧:基本用法没有搞清除,日后补充)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.stdin,"\n",sys.stdout,"\n",sys.stderr)
************************************************************分割线--其他日后补充*********************************************************
os模块
1.os模块就是对操作系统进行操作,使用该模块必须先导入模块:import os
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 6 import os 7 8 os.system("dir")
2.os.popen\mkdir
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 6 import os 7 8 os.popen("dir")#跟系统进行交互,打印的是执行命令后内存的地址 9 res = os.popen("dir").read()#得到的地址在进行都一下赋值给res并打印处理就可以跟os.sysytem得到一样的结果了 10 print(res) 11 12 os.mkdir("file")#在当前路径下创建名字为file文件
执行命令,获得返回地址
执行命令,创建文件夹
***********************************************************************************************************************************************