0
点赞
收藏
分享

微信扫一扫

Python笔记15-文件操作

耳一文 2022-02-22 阅读 92

作用:把一些内容(数据)存储起来,可以让程序下一次执行时直接使用,而不用重新制作。

1. 文件操作步骤

  1. 打开文件
  2. 读写等操作
  3. 关闭文件

注:可以指打开和关闭文件,不进行任何读写操作。

1.1. 打开

python中,使用open()函数可以打开一个已存在文件或创建一个新文件。
语法:

open(name,mode)

name:要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
mode:设置打开文件的模式(访问模式):只读、写入、追加等。

  • 打开文件模式
    |模式|说明|
    |:----😐:-----|
    |r|以只读方式打开文件。文件的指针会放在文件的开头。这是默认模式。|
    |rb|以二进制格式打开文件用于只读。文件指针会放在文件的开头。这是默认模式。|
    |r+|打开一个文件用于读写。文件指针会放在文件的开头。|
    |rb+|以二进制格式打开文件用于读写。文件指针会放在文件的开头。|
    |w|打开文件只用于写入。若文件存在则打开该文件,并从开头开始编辑,即原有内容会删除。若文件不存在则自动创建新文件。|
    |wb|以二进制格式打开文件只用于写入。若文件存在则打开该文件,并从开头开始编辑,即原有内容会删除。若文件不存在则自动创建新文件。|
    |w+|打开一个文件用于读写。若文件存在则打开该文件,并从开头开始编辑,即原有内容会删除。若文件不存在则自动创建新文件。|
    |wb+|以二进制格式打开文件用于读写。若文件存在则打开该文件,并从开头开始编辑,即原有内容会删除。若文件不存在则自动创建新文件。|
    |a|打开一个文件用于追加。若文件已存在,文件指针会放在文件的结尾。即添加新内容时,新内容会添加到已有内容之后。若文件不存在则自动创建新文件。|
    |ab|以二进制格式打开文件用于追加。若文件已存在,文件指针会放在文件的结尾。即添加新内容时,新内容会添加到已有内容之后。若文件不存在则自动创建新文件。|
    |a+|打开一个文件用于读写。若文件已存在,文件指针会放在文件的结尾。文件打开时会是追加模式若文件不存在则自动创建新文件。|
    |ab+|以二进制格式打开文件用于追加。若文件已存在,文件指针会放在文件的结尾。若文件不存在则自动创建新文件用于读写。|

  • 示例

f1=open('test.txt','w') # f1是open函数的文件对象

1.2. 文件对象方法

    • 语法
    文件对象.write('内容')
    
    • 示例
    
    f1=open('test1.txt','w')
    
    f1.write('Hello World!')
    
    f1.close()
    
    • read()
    文件对象.read(num)
    

    注:num表示要从文件中读取的数据长度(单位是字节),若没有传入num,则读取文件所有数据。

    • readlines()
      readlines可以按照行的方式把整个文件中的内容进行一次性读取,并返回一个列表,其中每一行的数据为一个元素。
    f1=open('test2.txt')
    
    content=f1.readlines()
    
    print(content)
    
    f1.close
    
    • readline()
      readline()一次读取一行内容。
    f1=open('test2.txt')
    
    content=f1.readline()
    
    print(f'第一行:{content}')
    
    content=f1.readline()
    
    print(f'第二行:{content}')
    
    f1.close
    
    • seek()
      作用:用于移动文件指针。
      语法:
    文件对象.seek(偏移量,起始位置)
    

1.3. 关闭

文件对象.close()
old_name=input('请输入要备份文件名:')
# 提取文件后缀点的位置下标
index=old_name.rfind('.')
# 判断是否为有效文件名
if index>0:
	postfix=old_name[index:]
# 新文件名
new_name=old_name[:index]+'[备份]'+postfix
# 打开文件
old_f=open(old_name,'rb')
new_f=open(new_name,'wb')
# 写入
while True:
	con=old_f.read(1024)
	if len(con)==0:
		break
	new_f.write(con)
# 关闭文件
old_f.close()
new_f.close()

须导入os模块

import os

1. 重命名文件

os.rename(目标文件名,新文件名)

2. 删除文件

os.remove(目标文件名)

3. 创建文件夹

os.mkdir(文件夹名)

4. 删除文件夹

os.rmdir(文件夹名)

5. 获取当前目录

os.getcwd(文件夹名)

6. 改变默认目录

os.chdir(文件夹名)

7. 获取目录列表

os.listdir(目录)

15
Levi_5

举报

相关推荐

0 条评论