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计算机二级考试知识点——文件操作的更多相关文章

  1. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  2. Python——Day3知识点——文件操作

    一.打开文件 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ...

  3. python基础(三)-- 文件操作

    一. 文件操作: 对文件操作流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 现有文件如下 : Somehow, it seems the love I kn ...

  4. Python之字符编码与文件操作

    目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...

  5. python基础 (编码进阶,文件操作和深浅copy)

    1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...

  6. Python全栈工程师(文件操作、编码)

    ParisGabriel                每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰     Python人工智能从入门到精通 最近简直要死了 发烧感冒 喉咙痛..... ...

  7. python3速查参考- python基础 5 -> 常用的文件操作

    文件的打开方式 打开方式 详细释义 r  以只读方式打开文件.文件的指针会放在文件的开头.这是默认模式. rb  以二进制只读方式打开一个文件.文件指针会放在文件的开头. r+  以读写方式打开一个文 ...

  8. python基础--字符编码以及文件操作

    字符编码: 1.运行程序的三个核心硬件:cpu.内存.硬盘 任何一个程序要是想要运算,肯定是先从硬盘加载到当前的内存中,然后cpu根据指定的指令去执行操作 2.python解释器运行一个py文件的步骤 ...

  9. Python 实现隐藏文件夹、文件操作

    Python通过win32api 可以实现操作文件夹文件操作,获取属性,修改属性 1.获取属性 通过win32api.GetFileAttributes 方法可以获取属性值 import win32c ...

随机推荐

  1. 自动生成SSM框架

    使用idea 新创建项目 然后 新创建 java .resources 文件夹...... 图上是项目结构 java文件夹下的 文件夹 命名规范 com.nf147(组织名)+ oukele(作者) ...

  2. PHP基础之如何调试PHP程序(HBuilder)

    先到这里下载HBuilder(HBuilder是最棒的PHPIDE,可以参考PHP是世界上最棒的编程语言),运行后界面如下: 打开WAMP的调试选项(XDebug):,每开启一个Xdebug选项,WA ...

  3. javascript中的正确错误处理------------引用

    JavaScript的事件驱动机制让JavaScript更加丰富,浏览器好比就是一个事件驱动的机器,错误也是一种事件.当一个错误发生时,一个事件就在某个点抛出. 解释起来就是,当发生错误时,JavaS ...

  4. js深度克隆

    function highClone(oldObj){ var cloneObj; if(oldObj.constructor==Object || oldObj.constructor==Array ...

  5. 《剑指offer》算法题第七天

    今日题目: 复杂链表的复制 二叉搜索树与双向链表 序列化二叉树 字符串的排序 1.复杂链表的复制 题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向 ...

  6. Linux环境下软件安装

    下载——解压缩: 把得到的目录放到一个不碍事的目录,我们可以设置隐藏目录: 查看可执行程序: 如何变成系统命令? PATH:一个可执行程序只要放到这些目录中任何一个就可以,就可以变成系统识别的命令,当 ...

  7. Js模块化开发--seajs和gruntJs

    1.Seajs库 解决开发中的冲突依赖等问题,提供代码可维护性. SeaJS 是由玉伯开发的一个遵循 CommonJS 规范的模块加载框架,可用来轻松愉悦地加载任意 JavaScript 模块和css ...

  8. HDU 5867 Water problem ——(模拟,水题)

    我发这题只是想说明:有时候确实需要用水题来找找自信的~ 代码如下: #include <stdio.h> #include <algorithm> #include <s ...

  9. python-获取程序的路径

    python获取当前路径 import os,sys 使用sys.path[0].sys.argv[0].os.getcwd().os.path.abspath(file).os.path.realp ...

  10. [题解] [bzoj2622] 深入虎穴

    题解 题解 考虑到正着跑不好想, 我们尝试反向跑 以每个终点作为起点, 维护每个点的最小值和次小值(最小的被老虎ban掉了) 转移的时候用当前点的次小值去更新其所连的点的最小值和次小值 由于最小的次小 ...