python常用模块系列(二):sys模块与os模块
sys模块是python解释器和环境有关的一个模块;
os是python用来和操作系统进行交互的一个模块。
一 sys
- 查看当前环境变量
- 查看已经加载的模块
可以看出sys.modules是一个字典,key为加载模块的名字,values为加载模块的路径。
- 获取终端调用时的参数
终端输入的参数为argv[1],默认当前文件名为第一个参数。
- 获取解释器的版本信息
- 获取当前运行平台名称(windows为nt,macOS为darwin)
- 退出信号
import sys
sys.exit(0) # 正常退出
sys.exit(1) # 错误退出
- 接口版本
import sys
print(sys.api_version)
# 运行结果 1013
- 了解
import sys
print(sys.maxsize)
print(sys.maxunicode)
# 运行结果
# 9223372036854775807
# 1114111
二 os
- 获取当前的工作目录
import os
print(os.getcwd())
# 运行结果 /Users/jingxing/PycharmProjects/python全栈/day20/代码
- 切换工作目录
import os
print(os.chdir('/Users/jingxing/PycharmProjects/python全栈'))
print(os.getcwd())
# 运行结果 /Users/jingxing/PycharmProjects/python全栈
- 获取当前目录
import os
print(os.curdir)
# 运行结果 .
- 获取上级目录
import os
print(os.pardir)
# 运行结果 ..
- 获取系统的环境变量
import os
print(os.environ)
# environ({'PATH': '/Users/jingxing/.nvm/versions/node/v4.9.1/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/python_study/mongodb/bin://Volumes/python_study/mongodb/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/python_study/Applications/mongodb-osx-x86_64-3.6.3/bin::/usr/local/mysql/bin', 'COMMAND_MODE': 'unix2003', 'VERSIONER_PYTHON_VERSION': '2.7', 'LS_OPTIONS': '--color=auto', 'LOGNAME': 'jingxing', 'XPC_SERVICE_NAME': 'com.apple.xpc.launchd.oneshot.0x10000004.pycharm', 'PWD': '/Users/jingxing/PycharmProjects/python全栈/day20/代码', 'PYCHARM_HOSTED': '1', 'NODE_PATH': '/Users/jingxing/.nvm/versions/node/v4.9.1/lib/node_modules', 'PYCHARM_MATPLOTLIB_PORT': '49379', 'PYTHONPATH': '/Applications/PyCharm.app/Contents/helpers/pycharm_matplotlib_backend:/Users/jingxing/PycharmProjects/python全栈', 'NVM_CD_FLAGS': '', 'NVM_DIR': '/Users/jingxing/.nvm', 'SHELL': '/bin/bash', 'LSCOLORS': 'CxfxcxdxbxegedabagGxGx', 'PYTHONIOENCODING': 'UTF-8', 'SECURITYSESSIONID': '186a7', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'USER': 'jingxing', 'CLICOLOR': 'Yes', 'TMPDIR': '/var/folders/yl/3drd7wf93f90sfkgpc2zg9cr0000gn/T/', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.bIB1b2eyOD/Listeners', 'XPC_FLAGS': '0x0', 'PYTHONUNBUFFERED': '1', '__CF_USER_TEXT_ENCODING': '0x1F5:0x19:0x34', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.bHuC64fYdd/Render', 'LC_CTYPE': 'zh_CN.UTF-8', 'NVM_BIN': '/Users/jingxing/.nvm/versions/node/v4.9.1/bin', 'HOME': '/Users/jingxing', '__PYVENV_LAUNCHER__': '/Library/Frameworks/Python.framework/Versions/3.6/bin/python3'})
- 创建多级目录
import os
os.makedirs('a/b/c')
# 会在当前文件路径创建多级目录
- 创建一个目录
import os
os.mkdir('aa')
# 能且仅能创建一个目录
- 递归删除
import os
os.removedirs('a/b/c')
# 递归删除,只能删除空目录
- 删除一个目录
import os
os.rmdir('aa')
# 删除一个目录
- 删除文件
import os
os.remove(r'/Users/jingxing/PycharmProjects/python全栈')
# 删除文件
- 列出当前目录所有的文件及文件夹
import os
print(os.listdir(r'/Users/jingxing/PycharmProjects/python全栈'))
- 获取当前平台路径分隔符
import os
print(os.seq)
# 运行结果 /
- 获取当前平台换行符
import os
print(os.lineseq, end='')