Python快速入门——文件操作

A、文件的打开和关闭

1、文件的打开

在Python中,open方法用来打开文件
语法格数如下:

open[文件名[, 访问模式]]

文件名为必填,访问模式为选填

smcs = open('Test.txt')

如果没有表明访问模式,则必须保证文件存在,否则会出现异常

2、文件模式

如果使用open方法打开文件时,只带一个文件名,那么我们只能读取文件,如果想要在打开的文件中写入数据,就必须指明文件的访问模式

文件模式

访问模式说明
r默认模式。以只读方式打开文件,文件的指针将会凡在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果文件不存在,创建新文件。
a打开一个文件用于追加。如果文件已存在,文件指针将放在文件的结尾。也就是说,新的内容将会被写入已有的内容之后。如果该文件不存在,创建新文件进行写入。
rb以二进制格式打开一个文件用于只读,文件指针将会被放在文件的开头
wb以二进制格式打开一个文件用于写入。如果文件已存在则将其覆盖。如果文件不存在,创建新文件。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

3、文件的关闭

凡是打开的文件,切记要使用close方法关闭。即使文件会在程序退出后自动关闭,但是考虑到数据的安全型,每次使用完文件后都要使用close方法关闭文件,否则一旦出现崩溃就很可能导致文件中的数据没有保存。

smcs = open('Test.txt')
smcs.close()

B、文件的读写

1、写文件

向文件写入数据,需要使用write方法来完成,在操作文件时,每调用一次write方法,写入的数据就会被追加到文件的末尾。

smcs = open('Test.txt', 'w')
smcs.write('Hello,World\n')
smcs.write('三木成森\n')
smcs.close()

运行结果:
在这里插入图片描述

2、读文件

1.使用read方法读取文件

定义:read(size)
size表示要从文件中读取的长度,如果没有指定size,默认读取全部数据。

smcs = open('Test.txt', 'r')
data = smcs.read()
print(data)
smcs.close()

运行结果:
在这里插入图片描述

2. readlines方法读取文件

若文件内容很少可以使用readlines方法,对文件内的数据一次性读取,
readlines会返回一个列表,列表中的每个元素为文件中的一行数据。

smcs = open('Test.txt', 'r')
data = smcs.readlines()
for item in data:
    print(item)
smcs.close()

运行结果:
在这里插入图片描述

3、readline方法一行一行读取
smcs = open('Test.txt', 'r')
data = smcs.readline()
print(data)
data = smcs.readline()
print(data)
smcs.close()

运行结果:
在这里插入图片描述

3、文件的定位读写
  1. 使用tell方法来获取文件当前的读写位置
    tell方法返回当前文件的位置
    smcs = open('Test.txt', 'r')
    data = smcs.read(4)
    print(data)
    print('当前位置:',smcs.tell())
    smcs.close()
    
    运行结果:
    在这里插入图片描述
  2. 使用seek方法定位到文件的指定位置读写
    如果需要从指定位置开始读写,就可以使用seek方法实现
    语法定义:seek(offset[, whence])
    seek方法参数介绍:
    • offset:表示偏移量,也就是需要移动的字节数
    • whence:表示方向,该参数的值有三个
      • SEEK_SET或者0:whence参数的默认值,表示从文件的起始位置开始偏移
      • SEEK_CUR或者1:表示从文件当前的位置开始偏移
      • SEEK_END或者2:表示从文件末尾开始偏移
    smcs = open('Test.txt', 'r')
    smcs.seek(11)
    print('当前位置:',smcs.tell())
    data = smcs.read()
    print(data)
    smcs.close()
    
    运行结果:
    在这里插入图片描述

C、文件的重命名和删除

有时候需要对文件进行重命名、删除等一些操作,Python的OS模块包含了这些功能。
使用之前要引入OS模块

import os
1、文件的重命名(rename)

rename方法的语法定义:os.rename(src, dst)
src:要修改的文件名
dst:修改后的文件名

os.rename('Test.txt','三木成森.txt')

要修改的文件如果不存在将会报错

2、文件的删除(remove)

remove方法的语法定义:os.remove(path)
path:要删除的文件路径

os.remove('三木成森.txt')

要删除的文件如果不存在将会报错

D、文件夹的相关操作

os模块也可以对文件夹进行操作
同样也要先引入os模块

import os
1、创建文件夹(mkdir)
os.mkdir('三木成森')

要创建的文件如果已存在将会报错

2、获取当前目录(getcwd)
print(os.getcwd())
3、改变默认目录(chdir)
os.chdir('../')
4、获取目录列表(listdir)
os.listdir()
5、删除文件夹(rmdir)
os.rmdir('三木成森')

要删除的文件如果不存在将会报错

更多的OS方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值