python os模块常用的29种方法使用详解
Python作为一种高级编程语言,经常用于数据处理和管理。在实现文件、目录操作时,涉及到大量与操作系统相关的操作,例如文件的复制、移动、删除等。这就要用到python中的os模块。os模块是python中的子模块,用于与操作系统交互。Python程序可以通过os模块来操作文件的读写、文件夹的创建、删除及重命名等,以及获取当前操作系统的信息,如操作系统类型、路径分隔符等。接下来介绍一下os模块的常用方法。
1. os.getcwd()
获取当前工作目录,即当前python脚本工作的目录路径,返回字符串类型。使用方法如下:
import os
print(os.getcwd()) # 获取当前工作目录
使用os.getcwd()函数能够方便地得到操作系统当前目录的路径。
2. os.listdir()
返回指定目录下的所有文件和目录名,以列表的形式展现。例如在当前目录下获取所有的文件和文件夹名称:
import os
print(os.listdir('.')) #获取当前目录
使用os.listdir()函数可以返回指定目录下的文件名列表,包括文件和文件夹名。
3. os.remove()
用于删除指定的文件。如果文件不存在,将抛出异常。使用方法如下:
import os
os.remove('file.txt') #删除文件
使用os.remove()函数主要用于删除指定的文件。
4. os.rename()
用于重命名文件或文件夹,新的文件名可以是相对路径或绝对路径。使用方法如下:
import os
os.rename('old.txt', 'new.txt')
使用os.rename()函数可以重命名文件或文件夹。
5. os.mkdir()
用于创建目录,如不存在则创建,如果目录存在,则抛出异常。使用方法如下:
import os
os.mkdir('new_directory')
使用os.mkdir()函数可以创建目录。
6. os.rmdir()
用于删除指定文件夹。只能删除空文件夹,非空文件夹不能删除。如果要删除非空文件夹,需要先递归删除子文件夹及文件。使用方法如下:
import os
os.rmdir('directory')
使用os.rmdir()函数可以删除指定文件夹。
7. os.makedirs()
用于递归创建目录,如不存在则创建,如果目录存在,则不报错。使用方法如下:
import os
os.makedirs('new_directory/sub_directory')
使用os.makedirs()函数可以递归创建一个目录和所有的子目录。
8. os.removedirs()
用于递归删除指定目录。只能删除空文件夹,更好的方法是使用shutil.rmtree()函数,可以递归删除非空文件夹及文件。使用方法如下:
import os
os.removedirs('directory')
使用os.removedirs()函数可以递归删除指定目录。
9. os.chmod()
用于更改文件或目录的访问权限,支持Linux和Unix等操作系统。使用方法如下:
import os
os.chmod('file', stat.S_IRUSR)
使用os.chmod()函数可以更改文件或目录的访问权限。
10. os.chown()
用于更改文件或目录的所有者和用户名。使用方法如下:
import os
os.chown('file', 1000, 1000)
使用os.chown()函数可以更改文件或目录的所有者和用户名。
11. os.stat()
用于获取文件或目录的详细信息,包括文件大小、创建时间、修改时间、最后访问时间、文件权限等。返回的文件信息是一个元组类型。使用方法如下:
import os
print(os.stat('file.txt')) #获取文件信息
使用os.stat()函数可以获取文件或目录的详细信息。
12. os.path.abspath()
用于返回文件的绝对路径。如果路径已经是绝对路径,则直接返回。使用方法如下:
import os
print(os.path.abspath('.')) #获取当前文件夹的绝对路径
使用os.path.abspath()函数可以获得文件或目录的绝对路径。
13. os.path.split()
用于将文件路径分割成目录和文件名两个部分,返回一个元组类型。使用方法如下:
import os
print(os.path.split('/path/to/file.txt')) #分割路径
使用os.path.split()函数可以将文件路径分割成目录和文件名两个部分。
14. os.path.dirname()
用于返回文件路径的目录部分,相当于os.path.split()的第一个元素。使用方法如下:
import os
print(os.path.dirname('/path/to/file.txt')) #获取路径名称
使用os.path.dirname()函数可以返回文件路径的目录部分。
15. os.path.basename()
用于返回路径的文件名部分,相当于os.path.split()的第二个元素。使用方法如下:
import os
print(os.path.basename('/path/to/file.txt')) #获取文件名
使用os.path.basename()函数可以返回文件路径的文件名部分。
16. os.path.join()
用于将多个路径组合成一个完整的路径,返回字符串类型。使用方法如下:
import os
print(os.path.join('/path', 'to', 'file.txt')) #组合路径
使用os.path.join()函数可以将多个路径组合成一个完整的路径。
17. os.path.exists()
用于判断指定的路径是否存在。如果文件或目录存在,返回True,否则返回False。使用方法如下:
import os
print(os.path.exists('/path/to/file.txt')) #判断路径是否存在
使用os.path.exists()函数判断指定的路径是否存在。
18. os.path.isfile()
用于判断指定路径是否为文件。如果是文件,则返回True,否则返回False。使用方法如下:
import os
print(os.path.isfile('/path/to/file.txt')) #判断是否为文件
使用os.path.isfile()函数判断指定路径是否为文件。
19. os.path.isdir()
用于判断指定路径是否为目录。如果是目录,则返回True,否则返回False。使用方法如下:
import os
print(os.path.isdir('/path/to/directory')) #判断是否为目录
使用os.path.isdir()函数判断指定路径是否为目录。
20. os.path.getatime()
用于获取文件或目录的最后访问时间。返回值是一个浮点数类型的时间戳。使用方法如下:
import os
print(os.path.getatime('/path/to/file.txt')) #获取最后访问时间
使用os.path.getatime()函数获取文件或目录的最后访问时间。
21. os.path.getmtime()
用于获取文件或目录的最后修改时间。返回值是一个浮点数类型的时间戳。使用方法如下:
import os
print(os.path.getmtime('/path/to/file.txt')) #获取最后修改时间
使用os.path.getmtime()函数获取文件或目录的最后修改时间。
22. os.path.getctime()
用于获取文件或目录的创建时间。返回值是一个浮点数类型的时间戳。使用方法如下:
import os
print(os.path.getctime('/path/to/file.txt')) #获取创建时间
使用os.path.getctime()函数获取文件或目录的创建时间。
23. os.path.getsize()
用于获取文件或目录的大小,返回字节数。如果是目录,则返回0。使用方法如下:
import os
print(os.path.getsize('/path/to/file.txt')) #获取文件大小
使用os.path.getsize()函数获取文件或目录的大小。
24. os.system()
用于运行shell命令。使用方法如下:
import os
os.system('ls -al')
使用os.system()函数可以运行shell命令。
25. os.kill()
用于发送信号给指定的进程。使用方法如下:
import os
os.kill(pid, signal.SIGTERM)
使用os.kill()函数可以发送信号给指定的进程。
26. os.pipe()
用于创建一个管道。返回一个元组类型,表示管道的读和写两个端点。使用方法如下:
import os
r, w = os.pipe()
使用os.pipe()函数可以创建一个管道。
27. os.read()
用于从文件描述符fd中读取至多n个字节。返回值是字节数组类型。使用方法如下:
import os
fd = os.open('file.txt', os.O_RDONLY)
os.read(fd, 1024)
os.close(fd)
使用os.read()函数可以从文件描述符fd中读取至多n个字节。
28. os.write()
用于向文件描述符fd中写入字符串s。返回值是写入的字节数。使用方法如下:
import os
fd = os.open('file.txt', os.O_WRONLY|os.O_CREAT)
os.write(fd, 'hello world\n')
os.close(fd)
使用os.write()函数可以向文件描述符fd中写入字符串s。
29. os.environ()
可以获取系统环境变量,以字典的形式返回。使用方法如下:
import os
print(os.environ)
使用os.environ()函数可以获取系统环境变量。