Python的os模块是一个跟操作系统结合比较密切的模块,里面提供了很多很多比较有用的方法。
os.getcwd() 获取当前工作目录,即该Python脚本运行时的目录
print(os.getcwd())
结果:/Users/ssspure/PycharmProjects/File/osmodule
2. os.chdir("dirname") 切换到指定的目录,返回值是None
3. os.curdir 这并不是一个函数,而是返回一个代表当前目录的常量
返回值是:"."
官方解释:The constant string used by the operating system to refer to the current directory. This is ‘.‘ for Windows and POSIX. Also available via os.path.
4. os.pardir 跟上面的os.curdir是一样的,返回值是:".."
官方解释:The constant string used by the operating system to refer to the parent directory. This is ‘..‘ for Windows and POSIX. Also available via os.path.
5. os.makedirs(dirname, mode=0o777, exist_ok=False) 创建目录,可以指定多个不存在的目录, Python递归创建这些目录
os.makedirs("test/demo", 0o700)
例如上面的代码中,会在当前目录下先创建test目录,之后再test目录下创建demo目录。
mode参数指的是要设置创建目录的权限,需要注意的一点是,第一位的权限必须是7,否则在创建多个目录的时候会报错,如下代码所示。
os.makedirs("test/demo", 0o600, True)
上面的代码只能创建test目录,并且会出现这样的错误:PermissionError: [Errno 13] Permission denied: ‘test/demo‘
这是因为创建的test目录权限是rw-------,也就是当前用户并没有进入test目录的权限,所以demo目录在创建的时候就会出错。
exist_ok:该参数如果是False时,如果已经想要创建的目录已经存在,就会报错,如果是True,当要创建的目录存在时不会报错。
6. os.removedirs("dir1/dir2/dir3") 递归删除目录
首先删除dir3,之后删除dir2,最后删除dir1。如果dir2目录下面除了dir1之外还有别的目录或者文件, 再删除dir3之后,并不会删除dir2。
7. os.mkdir("test", 0o777)
创建单个空目录
8. rmdir("test") 删除单个空目录,如果目录不为空的情况下会报错
9. os.listdir(dirname) 列出指定目录下的所有文件和文件夹,报错隐藏的目录,返回值是一个列表
print(os.listdir("."))
上面代码的执行结果是:[‘__init__.py‘, ‘odmodule.py‘, ‘test‘]
10. os.remove(file) 删除一个文件
11. os.rename(file1, file2) 将file1的文件名改为file2
12. os.stat(file) 获取file文件的相关信息,这些信息封装在一个元组中
print(os.stat("demo.txt"))
返回结果:os.stat_result(st_mode=33188, st_ino=4067145, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=8, st_atime=1484573900, st_mtime=1484573764, st_ctime=1484573764)
13. os.sep 返回当前操作系统下的路径分隔符
Linux的路径分隔符是"/",Windows的是"\\"
14. os.pathsep 返回当前操作系统的环境变量分隔符
Linux的路径分隔符是":",Windows的是";"
15. os.linesep 返回当前操作系统的行分隔符
Linux的路径分隔符是"\n",Windows的是"\r\n"
本文出自 “ssspure” 博客,请务必保留此出处http://ssspure.blog.51cto.com/8624394/1892409
原文地址:http://ssspure.blog.51cto.com/8624394/1892409