python计算机二级考试知识点——文件操作
1、 文件的使用:文件打开、关闭和读写
python通过open函数打开一个文件,并返回一个操作文件的变量,语法形式如下:
<变量名>=open(<文件路劲及文件名>,<打开模式>)
open()函数提供其中7种基本的打开模式,如下:
“r”:只读模式,如果文件不存在,则返回异常filenotfounderror,默认值。
“w”:覆盖写模式,文件不存在则创建,存在则完全覆盖源文件。
“x”:创建写模式,文件不存在则创建,存在则返回异常fileexistserror。
“a”:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。
“b”:二进制文本模式。
“t”:文本文件模式。
“+”:与r/w/a一同使用,在原有的功能上同时增加读写功能。
文件使用结束后要用close()方法关闭文件,释放文件的使用授权,语法如下:
<变量名>.close()
根据打开的方式不同,文件读写也会根据文本文件或者二进制打开方式有所不同,python语言有4个文件内容读取方法。
f.read():从文件中读入整个文件内容。
f.readline():从文件中读入一行内容。
f.readlines():从文件中读入所有行内容。
f.seek(offset):改变当前文件操作指针的位置,0-文件的开头;1-文件的当前位置;2-文件的结尾。
根据文件的写入方式不同,有两种方法:
f.write(s):向文件中写入一个字符串或者字节流。
f.writelines(lines):将一个元素为字符串的列表写入文件。
一维数据的处理:表示、存储、处理
一维数据是最简单的数据组织类型,由于是线性结构,在python中主要采用列表形式表示。
一维数据的文件存储有多种方式,例如采用分隔元素,采用逗号,采用换行符等等。
一般的,通过.join()方法将各元素表示为字符串,进行文件写入:通过字符串.split()方法分解各元素,从文件中读入一维数据。使用遍历循环对一维数据各元素进行操作。
二维数据的处理:表示、存储、处理
二维数据处理等同于二维列表的操作,一般需要借助两层循环遍历实现对每个数据的处理,基本代码格式如下:
for row in ls:
for item in row:
<对第row行第item列元素处理>
采用CSV格式对一二维数据文件进行读写
逗号分隔的存储格式叫csv格式文件,它是一种通用的、相对简单的文件格式。
一维数据保存成csv格式后,各元素采用逗号分隔,形成一行。
二维数据由一维数据组成,csv文件的每一行是一维数据,整个csv文件是二维数据。
以二维为例,从csv格式文件中读入数据并将其表示为二维列表对象的方法如下,其中data.csv可以为任意csv文件的事例。
f=open("data.csv","r")
ls=[]
for line in f:
ls.append(line.strip('\n').split(","))
f.close()
将二维列表数据写入csv文件的方法如下:
f=open("data.csv","w") #假设data.csv文件已经存在。
for row in ls:
f.write(",".join(row)+"\n")
f.close()
python计算机二级考试知识点——文件操作的更多相关文章
- (Python )格式化输出、文件操作、json
本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...
- Python——Day3知识点——文件操作
一.打开文件 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ...
- python基础(三)-- 文件操作
一. 文件操作: 对文件操作流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 现有文件如下 : Somehow, it seems the love I kn ...
- Python之字符编码与文件操作
目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...
- python基础 (编码进阶,文件操作和深浅copy)
1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...
- Python全栈工程师(文件操作、编码)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 最近简直要死了 发烧感冒 喉咙痛..... ...
- python3速查参考- python基础 5 -> 常用的文件操作
文件的打开方式 打开方式 详细释义 r 以只读方式打开文件.文件的指针会放在文件的开头.这是默认模式. rb 以二进制只读方式打开一个文件.文件指针会放在文件的开头. r+ 以读写方式打开一个文 ...
- python基础--字符编码以及文件操作
字符编码: 1.运行程序的三个核心硬件:cpu.内存.硬盘 任何一个程序要是想要运算,肯定是先从硬盘加载到当前的内存中,然后cpu根据指定的指令去执行操作 2.python解释器运行一个py文件的步骤 ...
- Python 实现隐藏文件夹、文件操作
Python通过win32api 可以实现操作文件夹文件操作,获取属性,修改属性 1.获取属性 通过win32api.GetFileAttributes 方法可以获取属性值 import win32c ...
随机推荐
- u-boot-2018.09 DTS上 I2C节点的解析 (转)
这篇理下uboot上I2C总线挂载设备的整个流程. 其他总线(如SPI等)应是类同的思路. uboot 中,以max8997挂载到s3c24xx i2c总线为例, dts里面的写法如下 aliases ...
- 【算法学习笔记】RMQ问题与ST表
\(0.\) RMQ问题 P1816 人话翻译 给定一个长度为\(n\)的数列\(a\),然后有\(m\)组询问,每次询问一个区间\([l,r]\)的最小值. 其中\(m,n\leq10^5\) \( ...
- js栈和堆的区别
一. 堆(heap)和栈(stack) 栈(stack)会自动分配内存空间,会自动释放.堆(heap)动态分配的内存,大小不定也不会自动释放. 二. 基本类型和引用类型 基本类型:简单的数据段,存 ...
- curses is not supported on this machine:(curses 在pycharm(Windows)中的安装 )
curse在Windows下的pycharm中安装,curse是不能直接在Windows下跑的.需要安装相关环境,要根据直接project的编译器版本来选择下载相关的whl. 找到project的Sc ...
- 【winfrom-多语言】实现多语言切换:使用资源文件
使用资源文件实现多语言切换. 1. 新建一个Form,名为FrmMain. 在界面添加一个MenuStrip和一个Button. 并设置好控件的文本和位置.(Language=(Default)) 2 ...
- 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇
接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...
- luogu【模板】线性筛素数 (Miller-Rabin素数测试模板)
这个感觉还是挺好理解的,就是复杂度证明看不懂~ Code: #include <cstdio> #include <algorithm> #include <cstrin ...
- [HEOI2016&TJOI2016] 排序(线段树)
4552: [Tjoi2016&Heoi2016]排序 Time Limit: 60 Sec Memory Limit: 256 MBSubmit: 2703 Solved: 1386[S ...
- 征途堆积出友情的永恒「堆优化dp」
直接写题解: 很简单的dp暴力转移式子:f[i]=MAX{f[j]+max(tax[j],sum[i]-sum[j])} 观察式子,只有一个变量sum[i]; 而其他都为定量; 则考虑维护 两个定量: ...
- Apache Ranger && HDFS
Apache Ranger && HDFS 标签(空格分隔): Hadoop HDFS HDFS对于任何Hadoop大数据平台来说都是核心组成部分,为了加强对Hadoop平台的数据保护 ...