python文件操作之

您所在的位置:网站首页 python文件的命名规则 python文件操作之

python文件操作之

2023-09-08 04:39| 来源: 网络整理| 查看: 265

目录 1、文件的基本操作1.1 打开1.2 文件对象方法(1)写:write()(2)读:read()、readlines()、readline() 1.3 移动文件指针:seek() 2、文件备份3、文件和文件夹的操作3.1 文件操作函数(1)文件重命名:rename()(2)文件删除:remove() 3.2 文件夹操作(1)创建文件夹:mkdir()(2)删除文件夹:rmdir()(3)返回当前文件所在目录路径:getcwd()(4)改变默认目录:chdir()(5)获取目录列表:listdir()(6)文件夹的删除、重命名 4、批量修改文件名,既可添加指定字符串,又能删除指定字符串

1、文件的基本操作 1.1 打开

在这里插入图片描述 打开文件模式: 在这里插入图片描述

注意: 最基本的三种模式是r、w、a,其他的都是在这基础上衍生的,所以像r+虽然可以读写,但是不能够创建文件。

1.2 文件对象方法 (1)写:write()

语法:

文件对象.write('内容')

例子:

# 1. 打开⽂文件 f = open('test.txt', 'w') # 2.⽂文件写⼊入 f.write('hello world') # 3. 关闭⽂文件 f.close()

在这里插入图片描述

(2)读:read()、readlines()、readline()

三种读入方法,各有用处,下面依次介绍:

read()方法:

语法:

文件对象.read(num)

注意: num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。

例子:

f = open('test.txt', 'r') # 文件内容要换行,底层有\n,会有字节占位 # read函数不写参数,表示读取所有 print(f.read()) # 读取文件所有内容 print(f.read(10)) # 读取文件前十个,其中\n也算一个 f.close()

readlines()方法:

语法:

readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一⾏的数据为一个元素。

例子:

# readlines()可以按照行的方式把整个文件中的内容进行一次性读取, # 并且返回的是一个列列表,其中每一⾏的数据为一个元素。 f = open('test.txt', 'r') content = f.readlines() print(content) f.close()

readline()方法:

语法:

readline()一次读取一行内容,可以依次用循环一行一行的读出。

例子:

# readline()一次读取一行内容。 f = open('test.txt', 'r') print(f'读取第一行内容为:{f.readline()}') # 读取的内容不包括换行符\n哦 print(f'读取第二行内容为:{f.readline()}') f.close() 1.3 移动文件指针:seek()

语法: 在这里插入图片描述 例子:

""" 语法:文件对象.seek(偏移量, 起始位置),起始位置:0表示开头位置,1表示当前位置,2表示结束位置 """ f = open('test.txt') # 指针位置在开头 # 1.向后移动2个字节 # f.seek(2, 0) # 2.把指针移动到最后 f.seek(0, 2) # f.seek(0) 是f.seek(0, 0)的简写 con = f.read() print(con) f.close() 2、文件备份

需求: 用户输入当前目录下任意文件名,程序完成对该文件的备份功能(备份文件名为xx[备份]后缀,例如:test[备份].txt)。 步骤: 在这里插入图片描述

代码:

注意文件名分割的技巧。

# 1.用户输入目标文件 old_name = input("请输入您要备份的文件名:") # 2.备份文件的名字 # 2.1分离文件名,找到文件名后缀 index = old_name.rfind('.') # 从右向左找.对应的下标然后就字符串切片 if index>0: # 判断输入.txt非法 postfix = old_name[index:] new_name = old_name[:index] + '[备份]' + postfix # 拼接成新名字 # print(new_name) # 3.备份文件写入数据(数据和原文件一样) # 3.1 打开原文件和备份文件 old_f = open(old_name, 'rb') # 以二进制读的方式,打开原文件 new_f = open(new_name, 'wb') # 以二进制写的方式,打开原文件 # 3.2 原文件读入,备份文件写入 # 注意:如果不确定目标文件的大小,循环读取写入,当读取出来的数据没有了才终止 while True: con = old_f.read(1024) # 一次读入1024个字节 if len(con) == 0: break new_f.write(con) 3、文件和文件夹的操作

在这里插入图片描述

3.1 文件操作函数 (1)文件重命名:rename()

在这里插入图片描述 例子:

import os # 1.rename():重命名 os.rename('test.txt', '1.txt') # 将 test.txt 名字改成 1.txt (2)文件删除:remove()

在这里插入图片描述 例子:

import os # 2.remove():删除 os.remove('1.txt') # 将 1.txt 文件删除 3.2 文件夹操作 (1)创建文件夹:mkdir()

在这里插入图片描述 例子:

# 3.mkdir():创建文件夹 os.mkdir('aa') (2)删除文件夹:rmdir()

在这里插入图片描述 例子:

# 4.rmdir():删除文件夹 os.rmdir('aa') (3)返回当前文件所在目录路径:getcwd()

例子:

print(os.getcwd()) (4)改变默认目录:chdir()

例子:

os.mkdir('aa') # 先创建aa文件夹 # 需求:在aa文件夹下创建bb文件夹:1、切换目录到aa;2、创建bb os.chdir('aa') os.mkdir('bb') (5)获取目录列表:listdir()

例子:

# listdir():获取某个文件夹下所有文件,返回一个列表 print(os.listdir()) print(os.listdir('aa')) # 获取aa文件夹下的文件 (6)文件夹的删除、重命名

文件夹的删除、重命名和文件的一摸一样,看上面。

4、批量修改文件名,既可添加指定字符串,又能删除指定字符串

在这里插入图片描述 代码:

import os # 设置重命名标识:如果为1则添加指定字符,flag取值为2则删除指定字符 flag = 1 # 获取指定目录 dir_name = './' # 获取指定目录的文件列列表 file_list = os.listdir(dir_name) # print(file_list) # 遍历文件列表内的文件 for name in file_list: # 添加指定字符 if flag == 1: new_name = 'Python-' + name # 删除指定字符 elif flag == 2: num = len('Python-') new_name = name[num:] # 打印新文件名,测试程序正确性 print(new_name) # 重命名 os.rename(dir_name+name, dir_name+new_name)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3