python 常用模块 os (学习笔记四)

os

python操作系统接口

版本:python3.6 官方文档

os模块的常用功能:

os.name              显示当前使用的平台

>>> import os
>>> os.name
'nt'                # 表示Windows
>>> os.name
'posix'             # 表示Linux

os.getcwd()            显示当前python脚本工作路径

>>> os.getcwd()
'E:\\workspace\\projectSpace'

os.listdir('dirname')        返回指定目录下的所有文件和目录名

>>> os.listdir(os.getcwd())
['.git', 'test1', 'test2', 'test.txt']

>>> os.listdir()
['.git', 'test1', 'test2', 'test.txt']

os.remove('filename')       删除一个文件

>>> os.remove('test.txt')
>>> os.listdir(os.getcwd())
['.git', 'test1', 'test2']

os.makedirs('dirname/dirname')     可生成多层递规目录

>>> os.makedirs('demo/test.txt')
>>> os.listdir('demo')
['test.txt']

os.rmdir('dirname')     删除单级目录

>>> os.makedirs('demo1')
>>> os.listdir()
['.git', 'demo', 'demo1']
>>> os.rmdir('demo1')
>>> os.listdir()
['.git', 'demo']

os.rename("oldname","newname")    重命名文件

>>> os.rename('demo/test.txt', 'demo/change.txt')
>>> os.listdir('demo')
['change.txt']

os.system()    运行shell命令,注意:这里是打开一个新的shell,运行命令,当命令结束后,关闭shell

# windows 10
>>> os.system('dir')            # 执行命令
 驱动器 E 中的卷没有标签。
 卷的序列号是 78CC-3B97

 E:\workspace\projectSpace 的目录

2018/11/28  11:10              .
2018/11/28  11:10              ..
2018/11/28  11:12              demo
               0 个文件              0 字节
               3 个目录 22,123,225,088 可用字节


# ubuntu
>>> os.system('pwd')
/root/miracle
0

os.sep    显示当前平台下路径分隔符

>>> os.sep
'/'               #linux

>>> os.sep
'\\'             #windows

os.linesep    给出当前平台使用的行终止符

>>> os.linesep
'\n'      #linux

>>> os.linesep
'\r\n'    #windows

os.environ    获取系统环境变量

>>> os.environ
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\Miracle\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'DESKTOP-E84APLM', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'CONDA_DEFAULT_ENV': 'base', 'CONDA_EXE': 'C:\\ProgramData\\Anaconda3\\Scripts\\conda.exe', 'CONDA_PREFIX': 'C:\\ProgramData\\Anaconda3', 'CONDA_PROMPT_MODIFIER': '(base) ', 'CONDA_PYTHON_EXE': 'C:\\ProgramData\\Anaconda3\\python.exe', 'CONDA_SHLVL': '1', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\Miracle', 'LOCALAPPDATA': 'C:\\Users\\Miracle\\AppData\\Local', 'LOGONSERVER': '\\\\DESKTOP-E84APLM', 'NUMBER_OF_PROCESSORS': '8', 'ONEDRIVE': 'C:\\Users\\Miracle\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'C:\\ProgramData\\Anaconda3;C:\\ProgramData\\Anaconda3\\Library\\mingw-w64\\bin;C:\\ProgramData\\Anaconda3\\Library\\usr\\bin;C:\\ProgramData\\Anaconda3\\Library\\bin;C:\\ProgramData\\Anaconda3\\Scripts;C:\\ProgramData\\Anaconda3\\bin;C:\\Python27\\;C:\\Python27\\Scripts;C:\\ProgramData\\Anaconda3;C:\\ProgramData\\Anaconda3\\Library\\mingw-w64\\bin;C:\\ProgramData\\Anaconda3\\Library\\usr\\bin;C:\\ProgramData\\Anaconda3\\Library\\bin;C:\\ProgramData\\Anaconda3\\Scripts;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Git\\cmd;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Users\\Miracle\\AppData\\Local\\Microsoft\\WindowsApps;;E:\\software\\program\\tools\\Microsoft VS Code\\bin', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 142 Stepping 10, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '8e0a', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT': '(base) $P$G', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PUBLIC': 'C:\\Users\\Public', 'PYTHONIOENCODING': '936', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS', 'TEMP': 'C:\\Users\\Miracle\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\Miracle\\AppData\\Local\\Temp', 'USERDOMAIN': 'DESKTOP-E84APLM', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-E84APLM', 'USERNAME': 'Miracle', 'USERPROFILE': 'C:\\Users\\Miracle', 'WINDIR': 'C:\\WINDOWS'})
>>>

os.path.abspath(path)    显示当前绝对路径

>>> os.path.abspath('demo')
'E:\\workspace\\projectSpace\\demo'

os.path.dirname(path)    返回该路径的父目录

>>> os.path.dirname(os.path.abspath('demo'))
'E:\\workspace\\projectSpace'

os.path.basename(path)    返回该路径的最后一个目录或者文件,如果path以/或\结尾,那么就会返回空值。

>>> os.path.basename(os.path.dirname(os.path.abspath('demo')))
'projectSpace'

os.path.isfile(path)     如果path是一个文件,则返回True

>>> os.path.isfile('demo')    # demo是个文件夹
False

os.path.isdir(path)    如果path是一个目录,则返回True

>>> os.path.isdir('demo')
True

os.stat()    获取文件或者目录信息

>>> os.stat('demo')
os.stat_result(st_mode=16895, st_ino=4222124650869933, st_dev=2026650519, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1543374753, st_mtime=1543374753, st_ctime=1543374414)
>>> os.stat('demo/change.txt')
os.stat_result(st_mode=16895, st_ino=10696049115215086, st_dev=2026650519, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1543374414, st_mtime=1543374414, st_ctime=1543374414)

os.path.split(path)  将path分割成路径名和文件名。(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

>>> os.path.split('demo/change.txt')
('demo', 'change.txt')

os.path.join(path,name)   连接目录与文件名或目录 结果为path/name

>>> os.path.join('demo','test.txt')
'demo\\test.txt'

 

你可能感兴趣的:(python)