如何使用Python的os函数对文件和目录进行操作?
Python的os函数是操作系统模块提供的接口,可以和操作系统进行交互,实现对电脑上的文件和目录的操作,包括文件的读写、目录的创建、删除、访问等一些基本操作。下面就详细介绍一下Python的os函数在文件和目录的操作上的使用方法。
一、文件操作
在Python中,使用os模块的函数可以对文件进行基本的操作,比如打开文件,读写文件等等。
1、打开文件
使用open函数对文件进行读写操作,打开一个文件时,需要制定文件的路径、模式以及编码。
语法格式:file = open(file_path, mode, encoding)
其中:
file_path:表示文件路径,可以是绝对路径或者相对路径;
mode:表示文件的打开模式,包括读模式、写模式、追加模式等;
encoding:表示编码方式,比如utf8、gbk等。
代码示例:将一个文件读取到内容中。
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
2、读取文件内容
once文件已经打开,可以使用read()函数或者readline()、readlines()函数来读取文件的内容。read()函数一次性读取整个文件,如果文件较大,内存不够时会出现问题,所以我们可以使用for循环来读取文件。readline()函数是一行一行的读取文件内容,直到读取完毕,readlines()函数是一次性读取所有内容,并且将每行作为一个元素存放到一个列表中。
代码示例:将每一行的内容打印出来。
with open('file.txt', 'r', encoding='utf-8') as f:
for line in f:
print(line.strip())
3、写入文件内容
当文件以写模式打开时,可以使用write()、writelines()等函数来对文件进行写操作。write()函数用来写入单行文本,而writelines()函数用来写入多行文本,它接受一个列表作为参数,每个元素表示一行文本。
代码示例:用于写入名字到文件中,并添加时间戳。
import os
import time
name = 'John'
file_path = 'name_list.txt'
timestamp = int(time.time())
with open(file_path, 'a', encoding='utf-8') as f:
f.write('{} {}
'.format(name, timestamp))
二、目录操作
在Python中,使用os模块的函数可以对目录进行基本的操作,比如创建目录、删除目录、访问目录下的文件等等。
1、创建目录
使用os模块的函数可以很方便地创建一个新的目录,也可以同时创建多层目录,当目录已存在时,无法再次创建,会抛出异常。
代码示例:创建一个名为dir_test的目录。
import os
dir_name = 'dir_test'
if not os.path.exists(dir_name):
os.mkdir(dir_name)
2、删除目录
使用os模块当函数可以很方便地删除一个目录,也可以同时删除多层目录,当目录不存在时,会抛出异常。
代码示例:删除一个名为dir_test的目录。
import os
dir_name = 'dir_test'
if os.path.exists(dir_name):
os.removedirs(dir_name)
3、访问目录下的文件
使用os模块的函数可以很方便地访问目录下的文件,可以获取当前目录下的所有文件和目录的列表,以及判断某个文件或目录是否存在。
代码示例:遍历当前目录,获取所有文件名和文件夹名。
import os
for root, dirs, files in os.walk(os.curdir, topdown=False):
print('dir--->', root)
for name in files:
print('file--->', name)
总结:
以上是Python的os函数对文件和目录进行操作的方法,可以看到,使用Python的os模块的函数在文件和目录操作上非常方便,可以很好地实现对电脑上的文件和目录的操作。同时需要注意的是,在进行文件和目录的操作时,一定要保证文件和目录存在和权限问题,避免不必要的麻烦。
