Python系统编程(自学Python系列笔记-3)(不定期更新)
l if __name__ == ‘__main__’ : #当作为脚本运行时
n __name__检测只有当文件被运行时才是ture,被载入时是false,当作为顶级脚本被运行时,会判定ture
n 被运行:命令行,单击文件图标,使用IDLE GUI
n Python的每个模块都有一个内置的__name__变量,当且仅当文件作为程序运行时,而不是作为库导入是,Python会将这个变量设置为__main__字符串
l 命令行参数
n 例
u import sys
u print sys.argv
u 如果输入 python test.py 1 2 3
u 输出[‘test.py’, ‘1’, ‘2’, ‘3’]
l sys模块
n 例
u import sys
u print dir(sys) //显示sys内容
u print len(dir(sys)) //显示条数
n Python中的大部分系统接口都集中在这两个模块
u sys
u os
u 其他模块
l glob 用于文件名扩展
l socket 用于网络连接和进程间通信IPC
l threading, _thread, queue 用于运行和同步化并发线程
l time, timeit 用于获取系统时间相关细节
n 查看文档
u import sys
u print(sys.__doc__)
n sys.path
u 由目录名称字符串组成的列表,每个目录名称字符串代表正在运行的Python解释器的真正的搜索路径
u 该列表在解释器启动时根据PYTHONPATH设置进行初始化
n sys.modules
u sys.modules是一个字典,你的Python会话或进程所导入的每个模块在其中都有一个name:module项
n 其他工具
u sys.argv 显示为由字符串组成的列表的命令行参数
u sys.stdin sys.stdout sys.stderr 标准流
u sys.exit 通过调用之来强制退出
l os模块
n 与sys相比是较大的一个
n 在操作实践中基本上作为计算机系统调用的可移植接口来使用,用os和os.path编写的脚本通常可以无需改动而在其他平台上运行
n 常用模块工具
u Shell变量 os.environ
u 运行程序 os.system, os.popen, os.execv, os,spawnv
u 派生进程 os.fork, os.pipe, os.waitpid, os,kill
u 文件描述符 os.open, os.read, os.write
u 文件处理 os.remove, os.rename, os.mkfifo, os.mkdir, os.rmdir
u 管理工具 os.getcwd, os.chdir, os.chmod, os.getpid, os.listdir
u 移植工具
u 路径名工具
u 例:
l import os
l os.getpid()
l 输出3784
l 另外开一个cmd,#tasklist,找到python.exe发现进程pid就是3784
u 例:
l import os
l os.getcwd()
l 输出当前的工作目录
u 例:
l import os
l os.system(‘dir’)
l 输出正常情况下的dir输出
u 例:
l import os
l test = os.popen(‘type helloshell.py’).read()
l 把执行该shell命令后的输出放到test里面
l 字符串方法基础操作
n 例
u mystr = ‘heheyouhehe’
u print mystr.find(‘you’) //寻找指定字符串
u print mystr.replace(‘hehe’, ‘haha’) //字符串替换
u print ‘hehe’ in mystr //判定是否有指定字符串
u 输出:
l 4
l hahayouhaha
l True
n 例
u mystr = ‘\t Ni \n’
u mystr.strip() //裁剪空白分隔符
u mystr.rstrip() //只裁剪右侧空白分隔符
u mystr.upper() //变大写,但注意mystr本身不改变
u mystr.lower() //变小写
u mystr.isalpha()
u mystr.isdigit()
n 例
u mystr = ‘abcxxdefxxghi’
u delim = ‘88’
u print delim.join(mystr.split(‘xx’))
u 输出abc88def88ghi
u 注意split方法和join方法的使用
l 基础的文件操作
n file = open(‘E:\\spam.txt’, ‘w’)
n file.write((‘spam’ * 5) + ‘\n’)
n file.close()
n file2 = open(‘E:\\spam.txt’)
n text = file.read()
n print text