- 论坛徽章:
- 2
|
os模块
os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果。
os.name:返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos')- In [3]: os.name
- Out[3]: 'posix'
复制代码 os中定义了一组文件、路径在不同操作系统中的表现形式参数
os.sep(文件夹分隔符,windows中是 \ )
os.extsep(扩展名分隔符,windows中是 . )
os.pathsep(目录分隔符,windows中是 ; )
os.linesep(换行分隔符,windows中是 \r\n )- In [5]: os.sep
- Out[5]: '/'
- In [6]: os.extsep
- Out[6]: '.'
- In [7]: os.pathsep
- Out[7]: ':'
- In [8]: os.linesep
- Out[8]: '\n'
复制代码 os中有大量文件、路径操作的相关函数
os.listdir(path):列举目录下的所有文件
os.makedirs(path):递归式的创建文件夹,注:创建已存在的文件夹将异常
os.remove(filename):删除一个文件,删除目录会报错
os.rmdir(path):删除一个文件夹,注:删除非空的文件夹将异常
os.removedirs(path):递归的删除文件夹,直到有一级的文件夹非空,注:文件夹路径不能以'\'结束,非空目录会报错
os.rename(src,dst):给文件或文件夹改名(可以改路径,但是不能覆盖目标文件)
os.renames(src,dst):递归式的给文件或文件名改名
os.walk(path):列举path下的所有文件、文件夹- In [10]: os.listdir('/home')
- Out[10]: ['roottest2', 'roottest1', 'nagios', 'test6', 'cacti', 'oracle', 'test7']
- In [12]: os.makedirs('/home/test1223')
- In [13]: os.listdir('/home')
- Out[13]:
- ['test1223',
- 'roottest2',
- 'roottest1',
- ……]
- In [14]: os.remove('/home/test1223')
- ---------------------------------------------------------------------------
- OSError Traceback (most recent call last)
- /root/<ipython console> in <module>()
- OSError: [Errno 21] Is a directory: '/home/test1223'
- In [16]: os.rmdir('/home/test1223')
- In [17]: os.removedirs('/home/a/b/c/')
- ---------------------------------------------------------------------------
- OSError Traceback (most recent call last)
- /root/<ipython console> in <module>()
- /usr/local/lib/python2.7/os.pyc in removedirs(name)
- 168
- 169 ""
复制代码 os中与进程相关的操作,如:
os._exit(n):退出程序
os.system('cmd'):运行系统命令,会立即返回,并在cmd执行完成后,会返回cmd退出代码
os.popen('cmd'):运行系统命令,可以把返回值保存到变量
os.path:在不同的操作系统中调用不同的模块,可以import
os.getcwd()得到当前的工作目录- In [3]: os.system('ls /home')
- c cacti nagios oracle roottest1 roottest2 test6 test7
- Out[3]: 0
- In [11]: os.getcwd()
- Out[11]: '/root'
复制代码 |
|