os模块属性:
在Mac平台结果:
1 、os.path 输出python环境所在系统中路径
print(os.path)
2、os.name 输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。
print(os.name) # posix
3、os.curdir 系统表示当前目录所用的字符串
print(os.curdir) # .
4、os.pardir 系统中表示父目录的字符串
print(os.pardir) # ..
5、os.sep 系统路径分隔符
print(os.sep) # /
6、os.extsep 系统使用的扩展符
print(os.extsep) # .
7、os.altsep 备用路径分隔符 None
print(os.altsep) # None
8、os.pathsep 在路径中使用的组件分隔符
print(os.pathsep) # :
9、os.linesep 系统 换行符
print(os.linesep) # '\r' or '\n' or '\r\n'
10、os.defpath 可执行文件的默认搜索路径
print(os.defpath) #:/bin:/usr/bin
11、空设备文件路径
print(os.devnull) #/dev/null
os模块函数
1、os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
cwd = os.getcwd()
print(cwd)
/Users/suxianglun/PycharmProjects/pythontest
2、os.chdir(r'/Users/') 切换当前工作目录到指定目录
os.chdir(r'/Users')
cwd = os.getcwd()
print(cwd)
/Users
3、os.makedirs('abc/allen/nv')# 创建多级目录 ,如果文件存在就会报错 FileExistsError: [Errno 17] File exists:
4、os.mkdir('efg') # 创建单级目录
5、os.removedirs('abc/allen/nv') # 删除多级目录
6、os.remove('nv') # 删除单级目录
7、os.listdir('abc/')列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
print(os.listdir('abc/'))
[allen]
8、os.system("ls") 运行shell命令,直接显示
9、os.environ 获取系统环境变量
environ({'PATH': '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Wireshark.app/Contents/MacOS:/Users/suxianglun/Library/Android/sdk/tools:/Users/suxianglun/Library/Android/sdk/platform-tools:', 'PYTHONPATH': '/Users/suxianglun/PycharmProjects/pythontest', 'ANDROID_SDK': '/Users/suxianglun/Library/Android/sdk', 'SHELL': '/bin/bash', 'PYTHONIOENCODING': 'UTF-8', 'SECURITYSESSIONID': '186a8', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'USER': 'suxianglun', 'TMPDIR': '/var/folders/bb/__kwbrgd34z42k0j5flvl7gm0000gn/T/', 'ANDROID_HOME': '/Users/suxianglun/Library/Android/sdk', 'COMMAND_MODE': 'unix2003', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.bShDhPU8aK/Listeners', 'NDK_HOME': '/Users/suxianglun/Library/Android/sdk/ndk-bundle', 'XPC_FLAGS': '0x0', 'PYTHONUNBUFFERED': '1', 'VERSIONER_PYTHON_VERSION': '2.7', '__CF_USER_TEXT_ENCODING': '0x1F5:0x19:0x34', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.Lmld2HUMqr/Render', 'LOGNAME': 'suxianglun', 'LC_CTYPE': 'zh_CN.UTF-8', 'XPC_SERVICE_NAME': 'com.apple.xpc.launchd.oneshot.0x10000005.pycharm', 'PWD': '/Users/suxianglun/PycharmProjects/pythontest', 'PYCHARM_HOSTED': '1', 'HOME': '/Users/suxianglun', '__PYVENV_LAUNCHER__': '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/bin/python3.6'})
10、os.path
path = 'abc/allen/nv'
path1 = 'abc/'
path2 = 'edf/hij'
1、os.path.abspath(path) #返回path规范化的绝对路径
/Users/suxianglun/PycharmProjects/pythontest/abc/allen/nv
2、os.path.split(path) #将path分割成目录和文件名二元组返回
('abc/allen', 'nv')
3、os.path.dirname(path) abc/allen #返回path的目录。其实就是
os.path.split(path)返回列表中第一个元素 abc/allen
4、os.path.basename(path) nv #返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素nv
以上三个之间的关系
os.path.split(path)=[os.path.dirname(path), os.path.basename(path)]
5、os.path.exists(path) True #如果path存在,返回True;如果path不存在,返回False
6、os.path.isabs(path) False #如果path是绝对路径,返回True
7、os.path.isfile(path) False #如果path是一个存在的文件,返回True。否则返回False
8、os.path.isdir(path) True #如果path是一个存在的目录,则返回True。否则返回False
9、os.path.join(path1, path2) abc/edf/hij #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
10、os.path.getatime(path) 1526625257.0 #返回path所指向的文件或者目录的最后存取时间
11、os.path.getmtime(path) 1526625250.0 #返回path所指向的文件或者目录的最后修改时间
sys模块 用于提供对解释器相关的操作
1、sys.argv 获取当前正在执行的命令行参数的参数列表(list)
print(sys.argv)
['/Users/suxianglun/PycharmProjects/pythontest/sys模块.py']
print(sys.argv[0])
/Users/suxianglun/PycharmProjects/pythontest/sys模块.py'
2、sys.platform系统名 Mac: darwin Windows:win32 Linux:linux
print(sys.platform) # darwin
3、sys.path 是一个目录列表,供Python从中查找第三方扩展模块。
print(sys.path)
'''['/Users/suxianglun/PycharmProjects/pythontest',
'/Users/suxianglun/PycharmProjects/pythontest',
'/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python36.zip',
'/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6',
'/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload',
'/usr/local/lib/python3.6/site-packages']
'''
4、sys.builtin_module_names 返回一个列表,包含内建模块的名字。
res = sys.builtin_module_names
print(res)
('_ast', '_codecs', '_collections', '_functools', '_imp', '_io', '_locale', '_operator',
'_signal', '_sre', '_stat', '_string', '_symtable', '_thread', '_tracemalloc',
'_warnings', '_weakref', 'atexit', 'builtins', 'errno', 'faulthandler', 'gc',
'itertools', 'marshal', 'posix', 'pwd', 'sys', 'time', 'xxsubtype', 'zipimport')
5、sys.exit(n) 调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。
try:
sys.exit(1)
except SystemExit:
print('SystemExit exit 1')
print('exited')