python 模块初识

python的强大之处在于有丰富的实现各类功能的标准库和第三方库,另外还容许用户本身创建库文件,html

标准模块(又称为库)包括sys, os, glob, socket, threading, _thread, queue, time, timeit, subprocess, multiprocessing, signal, select, shutil, tempfile等。python

大多数系统级接口集中在:sys和os两个模块。socket

下面将简单介绍sys和os模块:函数

sys模块

    平台与版本的信息,如sys.platform, sys.maxsize, sys.version
    模块搜索路径sys.path
    模块表sys.modules,这是一个包含Python程序中import进来的模块的name:module信息的字典
    异常信息,如sys.exc_info()
    命令行参数sys.argv
    标准流,如sys.stdin, sys.stdout, sys.stderr
    程序退出调用sys.exitspa

 1 #!/usr/bin/env python
 2 # file_name: test_sys.py
 3 
 4 import sys          # 导入模块
 5 print(sys.path)     # 输出模块搜索路径
 6 
 7 print(sys.argv)     # sys.argv 实现接收外部传递的参数,包括文件名
 8 print(sys.argv[0])  # 脚本的名称老是sys.argv列表的第一个参数,即为argv[0] 
 9 print(sys.argv[1])  # 其余参数依次为argv[1]
10 print(sys.argv[2])  # argv[2]
11 print(sys.argv[3])  # argv[3]

终端执行:操作系统

python test_sys.py I love python

运行结果.net

['e:\\vscode_pragram\\Python3\\Python基础\\day2\\代码', 'C:\\software\\Python\\Python35-32\\python35.zip', 'C:\\software\\Python\\Python35-32\\DLLs', 'C:\\software\\Python\\Python35-32\\lib', 'C:\\software\\Python\\Python35-32', 'C:\\software\\Python\\Python35-32\\lib\\site-packages']
['sys_test.py', 'i', 'love', 'python']
sys_test.py
I
love
python

 

os模块命令行

 Python os模块包含广泛的操做系统功能。若是你但愿你的程序可以与平台无关的话,这个模块是尤其重要的。若是咱们要操做文件、目录,能够在命令行下面输入操做系统提供的各类命令来完成。好比dir、cp等命令。其实操做系统提供的命令只是简单地调用了操做系统提供的接口函数,Python内置的os模块也能够直接调用操做系统提供的接口函数。code

#!/usr/bin/env python
# file_name: os_test.py

import os

os.system("dir")    # 列出当前文件夹下的文件名称
                    # 该方法不能利用变量保存下来,及调用时当即打印
# 打算利用dir_req保存列出的文件名称信息,可是结果并非那么回事,请看
dir_req = os.system("dir")
print("--->", dir_req)

终端输出:orm

驱动器 E 中的卷没有标签。
 卷的序列号是 000D-4517

 e:\vscode_pragram\Python3\Python基础\day2\代码 的目录

2017/04/15  09:51    <DIR>          .
2017/04/15  09:51    <DIR>          ..
2017/04/15  09:58               184 os_test.py
2017/04/15  09:44               180 sys_test.py
               2 个文件            364 字节
               2 个目录 60,183,629,824 可用字节
---> 0
最后输出了 --->0 ,说明dir_req为0,也就是说当os.system("dir")运行成功返回0,不成功返回错误代码
 
若是须要保存信息,将利用 popen 方法,以下:
#!/usr/bin/env python
# file_name: os_test2.py
dir_req = os.popen("dir")   # dir_req 返回一个文件描述符号为fd的打开的文件对象
print(dir_req)              # 将该文件描述符打印到屏幕
print("\n")                 
print(dir_req.read())       # 利用read方法读取该文件描述符的内容

终端输出:

<os._wrap_close object at 0x01B1B7B0>


 驱动器 E 中的卷没有标签。
 卷的序列号是 000D-4517

 e:\vscode_pragram\mine\Python3\Python基础\day2\代码 的目录

2017/04/15  09:51    <DIR>          .
2017/04/15  09:51    <DIR>          ..
2017/04/15  10:03               269 os_test.py
2017/04/15  09:44               180 sys_test.py
               2 个文件            449 字节
               2 个目录 60,183,629,824 可用字节

 

---------------------------------------------------------------------------------------

python sys模块全部方法(英文):https://docs.python.org/3/library/sys.html

python os模块全部方法:http://www.runoob.com/python/os-file-methods.html

os.popen方法: http://www.runoob.com/python/os-popen.html

相关文章
相关标签/搜索