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)

1 #!/usr/bin/env python
2 #-*- Coding:utf-8 -*-
3 # Author:Eric.Shen
4 
5 import sys
6 
7 print(sys.path)
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   从外部程序向内部程序传递参数

 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])
sys.argv

        从外部程序中传递参数给这个argv第一次返回在0位置上的test.py,第二次返回在1位置上的1,以此类推可以应用到测试的时候给程序传递参数就可以知道要执行什么操作

在cmd里运行这个文件,同时给test传递三个参数,运行结果如下

 (3)sys.getdefaultencoding() 获取当前系统编码

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)
sys.getdefaultencoding()

如上所述:获取系统当前编码,运行结果如下

(4)sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.

1 #!/usr/bin/env python
2 #-*- Coding:utf-8 -*-
3 # Author:Eric.Shen
4 
5 import  sys
6 encoding = sys.getfilesystemencoding()#获取获取文件系统使用编码方式
7 print(encoding)
sys.getfilesystemencoding()

执行结果如下

 (5)sys.platform 获取当前系统平台

1 #!/usr/bin/env python
2 #-*- Coding:utf-8 -*-
3 # Author:Eric.Shen
4 
5 import  sys
6 
7 print(sys.platform)#获取当前系统平台
sys.platform

运行如下

(6)sys.stdinstdoutstderr 

stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们(括弧:基本用法没有搞清除,日后补充)

1 #!/usr/bin/env python
2 #-*- Coding:utf-8 -*-
3 # Author:Eric.Shen
4 
5 import  sys
6 
7 print(sys.stdin,"
",sys.stdout,"
",sys.stderr)
sys.stdinstdoutstderr

 ************************************************************分割线--其他日后补充*********************************************************

os模块

1.os模块就是对操作系统进行操作,使用该模块必须先导入模块:import os

1 #!/usr/bin/env python
2 #-*- Coding:utf-8 -*-
3 # Author:Eric.Shen
4 
5 
6 import  os
7 
8 os.system("dir")
os.system

2.os.popenmkdir

 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文件
os.popenmkdir

执行命令,获得返回地址

执行命令,创建文件夹

***********************************************************************************************************************************************

   

Powers a lot like real estate.Its all about location, location, location.The closer you are to the source,the higher your property value.
原文地址:https://www.cnblogs.com/zhengyuan/p/8394015.html