您的位置:首页 > 财经 > 金融 > 广东新闻联播主持人名单_企查查免费查询_账号权重查询入口_网站搭建关键词排名

广东新闻联播主持人名单_企查查免费查询_账号权重查询入口_网站搭建关键词排名

2025/1/16 4:55:26 来源:https://blog.csdn.net/m0_62283350/article/details/144807210  浏览:    关键词:广东新闻联播主持人名单_企查查免费查询_账号权重查询入口_网站搭建关键词排名
广东新闻联播主持人名单_企查查免费查询_账号权重查询入口_网站搭建关键词排名

什么是编码?

编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。编码有许多种,我们最常用的是UTF-8编码。

文件的读取

内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别。

文件操作主要有以下几种:打开、关闭、读、写

**打开文件:**在python中,使用open函数,可以打开一个已经存在的文件。文件不存在就会报错

语法:open(name,mode,encoding)

**name:**是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。mode:设置打开文件的模式(访问模式):只读、写入、追加等。encoding:编码格式(推荐使用UTF-8)。注意:由于encoding的顺序不在第三位,所以不能使用位置参数,使用关键字参数直接指定。

f = open('D:\pycharm\python_study\python.txt', 'r', encoding='UTF-8')

读操作相关方法:

**read()方法:**num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。如果在程序中多次调用read函数,下一个read函数是从上一个read函数结尾处开始。

文件对象.read(num)
f = open('D:\pycharm\python_study\python.txt', 'r', encoding='UTF-8')``print(f'读取10个字节的内容{f.read(10)}')``print(f'读取10个字节的内容{f.read(10)}')
读取10个字节的内容Hello,pyth``读取10个字节的内容on world!你

readline()方法:只读取一行的内容,并且返回的是一个字符串。读取时会将换行符读入。

readlines()方法:readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。读取时会将换行符读入。

f = open('D:/pycharm/python_study/python.txt', 'r', encoding='UTF-8')``print(f'读取文件后类型为:{type(f)}')``line1 = f.readline()  # 读取文件第一行,封装到字符串中``line2 = f.readline()  # 读取文件第一行,封装到字符串中``print(f'读取文件第一行的内容为:{line1},类型为{type(line1)}')#读取时有一个换行符``print(f'读取文件第二行的内容为:{line2},类型为{type(line2)}')``f.close()
读取文件后类型为:<class '_io.TextIOWrapper'>``读取文件第一行的内容为:Hello,python world!,类型为<class 'str'>``读取文件第一行的内容为:你好,新世界!,类型为<class 'str'>
f = open('D:/pycharm/python_study/python.txt', 'r', encoding='UTF-8')lines = f.read``lines()  # 读取文件所有行,封装到列表中``print(f'读取文件所有行的内容为:{lines},类型为{type(lines)}')``f.close()
读取文件所有行的内容为:['Hello,python world!\n', '你好,新世界!'],类型为<class 'list'>

for循环读取文件行

for line in open('python.txt','r',encoding='UTF-8'):`    `print(line)
Hello,python world!#print会自动换行并且会读取文本中的换行符。``你好,新世界!

关闭文件对象:f.close()

自动关闭文件对象:with open() as f:这种方法不需要使用close函数关闭文件,会自动关闭。

with open('python.txt', 'r', encoding='UTF-8') as f:`    `for line in f:`                `print(line, end='')
Hello,python world!``你好,新世界!

案例:单词计数

with open('python.txt', 'r', encoding='UTF-8') as f:`    `list = []`        `for line in f:  # 得到每一行字符串`        `line1 = line.strip()  # 去除字符串前后空白以及换行符`        `line2 = line1.split(' ')  # 分割后得到的是数组`        `list.extend(line2)  # 将数据全部添加到另一个数组中`     `print(list)  # 打印数组内容`     `print(list.count('itheima'))
['itheima', 'itcast', 'python', 'itheima', 'python', 'itcast', 'beijing', 'shanghai', 'itheima', 'shenzhen', 'guangzhou', 'itheima', 'wuhan', 'hangzhou', 'itheima', 'zhengzhou', 'bigdata', 'itheima']``6
with open('python.txt', 'r', encoding='UTF-8') as f:`    `content = f.read()`    `print(content)  # 打印字符串内容`      `print(content.count('itheima'))
itheima itcast python``itheima python itcast``beijing shanghai itheima``shenzhen guangzhou` `itheima wuhan hangzhou` `itheima zhengzhou bigdata itheima``6

文件写入:f.write(“内容”),'w’模式如果文件不存在,会自动创建一个新文件,如果文件存在,会将内容清空。write()只是写入到缓冲区,并没有写入文件中,再使用,使用flush()函数****刷新一下即可,或者使用close()函数,它自带flush()函数的功能。因此要先将所有要写入的内容先写入到缓冲区flush()函数,否者下次写入会将内容清空。

f = open('test.txt', 'w', encoding='UTF-8')``f.write('你的名字')  # 写入内容``f.flush()  # 刷新内容到硬盘中``f.close()  # 自带flush()功能

文件的追加:

打开文件时,设置为**'a**'即可,文件不存在时,会创建文件;文件存在时,会在最后,追加写入文本内容。

**案例:**将其中的测试那一行数据去除,其余的数据写入到另一个文件中。

f1 = open('bill_copy.txt', 'w', encoding='UTF-8')  # "w"模式下每次写入会将原有数据清楚``with open('bill.txt', 'r', encoding='UTF-8') as f:  # 这种会自动使用close文件`    `for line in f:`          `if '测试' in line:`                     `continue`                   `else:`                              `f1.write(line)``f1.close()
f1 = open('bill_copy.txt', 'w', encoding='UTF-8')  # "w"模式下每次写入会将原有数据清楚``f2 = open('bill.txt', 'r', encoding='UTF-8')``for line in f2:`    `line1 = line.strip()`        `line2 = line1.split(',')`        `if line2[4] == '测试':`            `continue`        `else:`         `f1.write(line)``f1.close()``f2.close()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com