Python学习小结(2022.4.12)(文件的操作)

本文介绍了如何在Windows系统中使用open函数打开文件,包括路径处理方法,以及不同模式如'r', 'w', 'a'的含义。重点讲解了文件读取的逐块操作,修改文件的权限和追加功能,以及如何使用seek和tell定位读取位置。此外,还涵盖了Python中os模块的常用操作,如文件和目录操作,以及各种编程概念如编码、异常处理等。
摘要由CSDN通过智能技术生成

打开文件:调用open函数

open(file, mode='r', buffering=-1, encoding_=None, errors=None, newline=None, closefd=True, opener=None)

在windows系统使用路径时,可以使用/来代替 \
或者可以使用 \\ 来代替 \
或者也可以使用原始字符串加一个r:
r'hello\demo.txt'

关闭文件:调用close()方法来关闭文件

file_obj.close() 

文件的读取:通过 read() 来读取文件中的内容
# 读取大文件的方式

file_name = 'demo.txt'

try:
    with open(file_name,encoding='utf-8') as file_obj:
        # 定义一个变量,来保存文件的内容
        file_content = ''
        # 定义一个变量,来指定每次读取的大小
        chunk = 100
        # 创建一个循环来读取文件内容
        while True:
            # 读取chunk大小的内容
            content = file_obj.read(chunk)

            # 检查是否读取到了内容
            if not content:
                # 内容读取完毕,退出循环
                break

            # 输出内容
            # print(content,end='')
            file_content += content

except FileNotFoundError :
    print(f'{file_name} 这个文件不存在!')

利用readline函数或如下循环也可

for t in file_obj:
        print(t)

文件的修改:

使用open()打开文件时必须要指定打开文件所要做的操作(读、写、追加)
如果不指定操作类型,则默认是 读取文件 , 而读取文件时是不能向文件中写入的
r 表示只读的
w 表示是可写的,使用w来写入文件时,如果文件不存在会创建文件,如果文件存在则会截断文件
   截断文件指删除原来文件中的所有内容
a 表示追加内容,如果文件不存在会创建文件,如果文件存在则会向文件中追加内容
x 用来新建文件,如果文件不存在则创建,存在则报错
+ 为操作符增加功能
r+ 即可读又可写,文件不存在会报错
w+
a+

with open(file_name , 'r+' , encoding='utf-8') as file_obj:

文件

读取模式:
t 读取文本文件(默认值)
b 读取二进制文件

读取文件的位置:

seek

seek()需要两个参数
第一个 是要切换到的位置
第二个 计算位置方式
           可选值:
               0 从头计算,默认值
               1 从当前位置计算
               2 从最后位置开始计算
中文是3个字节才表示一个字符

tell

 tell() 方法用来查看当前读取的位置
   

 print('当前读取到了 -->',file_obj.tell())

文件的其他操作:

import os
from pprint import pprint

# os.listdir() 获取指定目录的目录结构
# 需要一个路径作为参数,会获取到该路径下的目录结构,默认路径为 . 当前目录
# 该方法会返回一个列表,目录中的每一个文件(夹)的名字都是列表中的一个元素
r = os.listdir()

# os.getcwd() 获取当前所在的目录
r = os.getcwd()

# os.chdir() 切换当前所在的目录 作用相当于 cd
# os.chdir('c:/')

# r = os.getcwd()

# 创建目录
# os.mkdir("aaa") # 在当前目录下创建一个名字为 aaa 的目录

# 删除目录
# os.rmdir('abc')

# open('aa.txt','w')
# 删除文件
# os.remove('aa.txt')

# os.rename('旧名字','新名字') 可以对一个文件进行重命名,也可以用来移动一个文件
# os.rename('aa.txt','bb.txt')
os.rename('bb.txt','c:/users/lilichao/desktop/bb.txt')
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值