Python os模块

 os模块

用于提供系统级别的操作

os.getcwd() 
    # 获取当前工作目录,即当前python脚本工作的目录路径
    
os.chdir("dirname")  
    # 改变当前脚本工作目录;相当于shell下cd
    
os.curdir  
    # 返回当前目录: ('.')
    
os.pardir  
    # 获取当前目录的父目录字符串名:('..')
    
os.makedirs('dirname1/dirname2')    
    # 可生成多层递归目录
    
os.removedirs('dirname1')    
    # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
    
os.mkdir('dirname')    
    # 生成单级目录;相当于shell中mkdir dirname
    
os.rmdir('dirname')    
    # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    
os.listdir('dirname')    
    # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    
os.remove()  
    # 删除一个文件
    
os.rename("oldname","newname")  
    # 重命名文件/目录
    
os.stat('path/filename')  
    # 获取文件/目录信息
    
os.sep    
    # 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
    
os.linesep    
    # 输出当前平台使用的行终止符,win下为"
",Linux下为"
"
    
os.pathsep    
    # 输出用于分割文件路径的字符串
    
os.name    
    # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
    
os.system("bash command")  
    # 运行shell命令,直接显示
    
os.environ  
    # 获取系统环境变量
    
os.path.abspath(path)  
    # 返回path规范化的绝对路径
    
os.path.split(path)  
    # 将path分割成目录和文件名二元组返回
    
os.path.dirname(path)  
    # 返回path的目录。其实就是os.path.split(path)的第一个元素
    
os.path.basename(path)  
    # 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    
os.path.exists(path)  
    # 如果path存在,返回True;如果path不存在,返回False
    
os.path.isabs(path)  
    # 如果path是绝对路径,返回True
    
os.path.isfile(path)  
    # 如果path是一个存在的文件,返回True。否则返回False
    
os.path.isdir(path)  
    # 如果path是一个存在的目录,则返回True。否则返回False
    
os.path.join(path1[, path2[, ...]])  
    # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    
os.path.getatime(path)  
    # 返回path所指向的文件或者目录的最后存取时间
    
os.path.getmtime(path)  
    # 返回path所指向的文件或者目录的最后修改时间  

更多猛击这里

 测试语句: 

import os
cwd = os.getcwd()
print(cwd)

# 输出结果: E:GitHubPython-spday6  
import os
 cwd = os.getcwd()
print(cwd)

os.makedirs("evescn/evescn")
os.removedirs("evescn/evescn")

# 输出结果: 先在当前目录下创建2个目录,然后删除目录  
import os

os.mkdir("evescn")
os.rmdir("evescn")

# 输出结果:再当前目录下创建了一个evescn目录,然后删除了该目录  
import os

ret = os.listdir()
print(ret)

# 输出结果:列出当前目录下的文件/目录名
['os模块.py', 'www', 'www.tar', '__pycache__']  
import os

os.remove("www.tar")

ret = os.listdir()
print(ret)

# 输出结果:删除了当前目录下的www.tar文件
['os模块.py', 'www', '__pycache__']  
import os

os.rename("test2.txt", "test3.txt"))

# 输出结果:重命名test2.txt文件名称为test3.txt  
import os

print(os.sep)       # 输出当前操作系统的路径分隔符
ret = os.linesep    # 输出当前平台使用的行终止符,win下为"
",Linux下为"
"
print(list(ret))
# print(os.linesep)
print(os.pathsep)   # 输出用于分割文件路径的字符串
print(os.name)      # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

# 输出结果:

['
', '
']
;
nt  
import os

print(os.system("dir"))     # 生成一个新的子进程执行程序,返回命令执行结果0

# 输出结果:
 ������ E �еľ��� �ĵ�
 �������� 0006-FEB1

 E:GitHubPython-spday6 ��Ŀ¼

2017/11/24  16:18    <DIR>          .
2017/11/24  16:18    <DIR>          ..
2017/11/24  16:18             1,190 osģ��.py
2017/10/20  08:43    <DIR>          www
2017/10/20  08:43    <DIR>          __pycache__
              42 ���ļ�         25,610 �ֽ�
               6 ��Ŀ¼ 15,794,552,832 �����ֽ�
0

---------------------分割线---------------------
a = os.system("dir")        # 生成一个新的子进程执行程序,返回命令执行结果0
print(a)


# 输出结果:
 ������ E �еľ��� �ĵ�
 �������� 0006-FEB1

 E:GitHubPython-spday6 ��Ŀ¼

2017/11/24  16:18    <DIR>          .
2017/11/24  16:18    <DIR>          ..
2017/11/24  16:18             1,190 osģ��.py
2017/10/20  08:43    <DIR>          www
2017/10/20  08:43    <DIR>          __pycache__
              42 ���ļ�         25,610 �ֽ�
               6 ��Ŀ¼ 15,794,552,832 �����ֽ�
a = 0

---------------------分割线---------------------
a = os.popen("dir").read()   # 需要使用popen才能获得到执行命令的结果 输出结果为"a =  ....."
print(a)

# 输出结果:
a =   驱动器 E 中的卷是 文档
 卷的序列号是 0006-FEB1

 E:GitHubPython-spday6 的目录

2017/11/24  16:20    <DIR>          .
2017/11/24  16:20    <DIR>          ..
2017/11/24  16:20             1,198 os模块.py
2017/10/20  08:43    <DIR>          www
2017/10/20  08:43    <DIR>          __pycache__
              42 个文件         25,618 字节
               6 个目录 15,794,552,832 可用字节  
原文地址:https://www.cnblogs.com/evescn/p/7889733.html