3.文件操作及编码解码补充

文件操作:1.打开文件f = open(name,mode)name:文件名的字符串mode:访问模式(只读,写入,追加等)2.读写等操作date = f.read()3.关闭文件f.close()

模式详解:如果省略书写访问模式,则访问模式默认为r或rb.通常只用主模式读写文件r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。1.有文件就读取,无文件则报错.2.r模式不支持写入,用.write()函数则报错rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。r+ 打开一个文件用于读写。文件指针将会放在?文件的开头。rb+ 以二进制格式打开?一个文件用于读写。文件指针将会放在文件的开头。w 打开一个文件只用于写入。1.如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。只要执行w模式的open就清空原有文件2.如果该文件不存在,创建新文件。3.如果执行.write()会覆盖原有内容wb 以?进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不不存在,创建新文件。w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不不存在,创建新文件。wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不不存在,创建新文件。a 打开一个文件用于追加。1.如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。2.如果该文件不存在,创建新文件。ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。ab+ 以?进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

读取函数(f = open("filename")1.f.read(num) 参数num是指要从文件中读取的数据长度(字节),可省略,省略表示读取所有数据2.f.readlines() 按行读取整个文件,返回一个列表,每行内容为一个元素,注意:readlines读取的每行包括换行符\n3.f.readline() 一次读取一行内容

文件和文件夹操作(需要导入os模块import os)1.重命名os.rename("old_name","new_name") 可以操作文件及文件夹2.删除os.remove("file_name") 无此文件会报错3.创建文件夹os.mkdir("dir_name") 重复创建同名文件夹会报错4.删除文件夹os.rmdir("dir_name") 无此文件夹会报错5.获取当前文件的路径os.getcwd()6.改变目录路径os.chdir("dir_name") 无此文件夹会报错7.获取目录列表os.listdir("dir_name") 返回dir_name文件夹内所有文件文件夹列表,不写dir_name则为当前文件夹

读取文件示例:对于读取到的某行进行进一步操作for index,line in enumerate(f.readlines()):    if index == 9:        print("-----------分割线----------")        continue    print(line.strip())以上对于第10行替换成分割线readlines()一次读取全部文件内容,这种方法对于大文件读取非常不友好,慎用

count = 0for line in f:    if count == 9:        print("-----------分割线----------")        count += 1        continue    print(line)    count += 1这个方法采用迭代方式处理读取到的行数据,内存里只存储一行,常用

文件指针seek():用来移动文件指针f.seek(偏移量,起始位置) 起始位置(0:文件开头 1:当前位置 2:文件结尾)

f.tell() 返回一个int,指示目前光标位置f.encoding 不需要括号,返回一个字符串,当前打开文件的编码f.seekable() 判断文件是否可以移动指针f.readable() 判断文件是否可读f.writeable() 判断文件是否可写f.closed() 判断文件是否关闭f.flush() 强制刷新f.truncate(int) 从开头截取int个字符

with语句with open("file_name","r") as f:  with代码块执行完毕自动关闭文件with open("file_name","r") as f1 , open("file_name","w") as f2:  with语句支持同时打开多个文件

编码解码查看当前默认字符编码集import syssys.getdefaultencoding()

原文地址:https://www.cnblogs.com/huohu121/p/12232745.html

时间: 2024-10-08 22:07:31

3.文件操作及编码解码补充的相关文章

day8_文件操作及编码解码

一.文件操作基本流程 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统.操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来. 有了文件的概念,我们无需再去考虑操作硬盘的细节,只需要关注操作文件的

Python——day3_基础1_集合,文件操作,字符编码与转码

集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时

python基础11 文件操作 ,字符编码

主要内容 文件操作 文件操作 打开文件的模式 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,同a r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建. "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模

python学习列表字符串字典集合文件操作字符串编码与转换

一.列表 1 names = "ZhangYang GuYun XiangPeng XuLiangchen" 2 names = ["ZhangYang", "GuYun", "XiangPeng", "ChengRongHua","XuLiangchen"] 3 names.append("LeiHaiDong") #在列表最后追加一个元素 4 names.inse

openssl pem转cer文件 并用base64编码解码过程

#!/bin/bash#pem转ceropenssl x509 -outform der -in 3324861__ksjgs.com.pem -out ksjgs-bak.cer#aes 128加密并用base64编码openssl enc -aes-128-cbc -in ksjgs-bak.cer -out ksjgs-bak-enc.log -a #解密#base64解码base64 -d ksjgs-bak-enc.log > ksjgs-bak-unbase64.log#aes 12

python3中文件操作及编码

#之前一直没明白文件处理中的w和wb的区别到底是什么,#在看过视频后才知道,原来在linux里面是没有区别的,#但是在windows里面就能够看出区别来了#下面来个例子: with open("普通文本文件.txt", "w",encoding='utf-8') as f: data = 'This is testing!\nThis is testing!' f.write(data) f.close() with open("二进制文本文件.txt&q

python之路3:文件操作和函数基础

文件操作 字符编码解码 函数基础 内置函数 一.文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,追加可写 "U"表示在读取时,可以将 \r \n \r\n自动转换成

java中文乱码解决之道(六)—–javaWeb中的编码解码

在上篇博客中LZ介绍了前面两种场景(IO.内存)中的java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的.对于我们从事java开发的人而言,其实最容易也是产生乱码最多的地方就是web部分.首先我们来看在javaWeb中有哪些地方存在编码转换操作. 编码&解码 通过下图我们可以了解在javaWeb中有哪些地方有转码: 用户想服务器发送一个HTTP请求,需要编码的地方有url.cookie.parameter,经过编码后服务器接受HTTP请

java中文乱码解决之道(六)-----javaWeb中的编码解码

在上篇博客中LZ介绍了前面两种场景(IO.内存)中的java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的.对于我们从事java开发的人而言,其实最容易也是产生乱码最多的地方就是web部分.首先我们来看在javaWeb中有哪些地方存在编码转换操作. 编码&解码 通过下图我们可以了解在javaWeb中有哪些地方有转码: 用户想服务器发送一个HTTP请求,需要编码的地方有url.cookie.parameter,经过编码后服务器接受HTTP请