OS 模块

以下搬自https://www.cnblogs.com/Eva-J/articles/7228075.html#_label7,请出门左转

os.grtcwd()    获取文件当前目录(路径)

>>> os.getcwd()
        
'E:\\tools\\python\\Python'

 

os.chdir(path)     更改访问路径

>>> os.chdir('E:\\tools\\python')
        
>>> os.getcwd()
        
'E:\\tools\\python'

os.curdir   os.pardir ---->  '.' '..'

>>> os.chdir('E:\\tools\\python')
        
>>> os.chdir(os.curdir)
        
>>> os.getcwd()
        
'E:\\tools\\python'
>>> os.chdir(os.pardir)
        
>>> os.getcwd()
        
'E:\\tools'

os.mkdir  创建单个文件

os.makedirs  递归创建文件    #从路径给出但又不存在的文件开始创建,直到走完所给路径

>>> os.getcwd()
        
'E:\\tools'
>>> os.listdir('E:\\tools')
        
['Altium Designer 17', 'keil', 'mye', 'mysql-installer-community-8.0.13.0.msi', 'mysql-installer-web-community-8.0.13.0.msi', 'pass', 'pr', 'python', 'video_baofeng', 'war']
>>> os.listdir('E:\\tools\\pass')#打印目录下所有文件,包括隐藏文件****以列表形式打开*****
        
['pass1']
>>> os.getcwd()
        
'E:\\tools'

os.rmdir()   删除单级目录(目录下需为空)

os.removedirs 先删除指定单级空目录,再对上一级文件进行判断,若为空则删除,若不为空,指令结束

os.removedirs('E:\\tools\\pass\\pass1')#pass文件中只有pass1
        
>>> os.listdir('E:\\tools')
        
['Altium Designer 17', 'keil', 'mye', 'mysql-installer-community-8.0.13.0.msi', 'mysql-installer-web-community-8.0.13.0.msi', 'pr', 'python', 'video_baofeng', 'war']
>>>  

os.remove()#删除文件      注意权限控制

os.remove('E:\\textt')
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    os.remove('E:\\textt')
PermissionError: [WinError 5] 拒绝访问。: 'E:\\textt'

 os.rename("oldname",'newname')  

os.stat()#获取文件,目录信息

os.sep系列方法:与操作系统相关,字符串型方法

系统特定路径分隔符:os.sep 无参

文件路径分隔符:os.pathsep 无参

行终止符: os.linesep  无参     e.g.  ' \t\n',   '\n'

os.name 无参  输出字符串指示当前平台   nt-->windows   posix--->linux

 

用python执行当前平台系统命令(与系统 命令框一样):

os.system(“指令”)#无返回

pa = os.popen('指令').read()将指令操作结果返回(指令被执行)

 

打印系统环境变量:  (ret=)os.environ  有返回值,以字典形式存取

 

os.path系列方法(路径相关)

os.path.abspath('path')  将path规范后的绝对路径返回

os.path.split('path')     将path分隔成目录+文件名的二元元组返回

os.path.dirname('path')  返回path最后一个‘\’or'/'后的文件名

os.path.exists("path")    返回TRUE或  FALSE判断path是否存在

os.path.isabs('path')    判断路径是否为绝对路径,返回true或false

os.path.isfile('path')    判断path是否为文件,返回true或false

os.path.isdir('path')    判断path是否为目录,返回true或false

os.path.join(*args,'path1','path2',,,,'pathn')    路径拼接,*args部分直接弃用

>>> os.path.join("G:",'pp','s')
'G:pp\\s'
>>> os.path.join('5',"G:",'pp','s')
'G:pp\\s'
>>> os.path.join('U:',"G:",'pp','s')
'G:pp\\s'
>>> os.path.join('U:',"G:op",'pp','s')
'G:op\\pp\\s'

os.path.getatime(path)  返回path目标的最后访问时间

os.path.getmtime(path)  返回path目标的最后修改时间

os.path.getsize(path)  返回path目标大小 (过大返回4096)

stat详解:

stat 结构:

st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。

stat 结构

 

  

posted @ 2019-09-22 10:42  牧旭  阅读(175)  评论(0编辑  收藏  举报