python编程基础之三十六

文件处理:文件处理包括读文件,写文件

读文件:

  1、打开文件

  2、读取文件

  3、关闭文件

写文件:

  1、打开文件

  2、写如文件

  3、关闭文件

无论是读取文件还是写文件都时需要打开文件,和关闭文件

打开文件:

fp = open(file [, mode=‘r‘,  encoding=None, errors=None])

  file:文件路径,可以是相对路径和绝对路径

  mode:文件打开模式

r 只读
w 写之前会清空文件的内容
a 追加的方式,在原本内容中继续写
r+ 可读可写
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
b rb、wb、ab、rb+、wb+、ab+意义和上面一样,用于二进制文件操作

  encodeing: 文件编码方式,不用于二进制文件,一般是utf-8,gbk

?     errors:指定如何处理编码和解码错误 ,适用于文本文件

  返回值:一个可迭代的文件对象一般用fp

读取文件常用函数:

      read([size])          读取文件(读取size字节,默认读取全部),

      readline([size])    读取一行,如果指定size,将读入指定的字符数,

      readlines()           把文件内容按行全部读入,返回一个包含所有行的列表

 1  #打开文件
 2 fp = open(‘qfile.txt‘,‘r‘,encoding=‘utf-8‘)
 3
 4 #读取文件全部内容
 5 #content = fp.read()
 6 #print(content)
 7
 8 #读取指定字符数,包括行尾的换行符\n
 9 # print(fp.read(20))
10
11 #读取一行
12 # print(fp.readline(5))  #读取指定字符数
13 # print(fp.readline())  #读取一整行,直到碰到一个\n
14
15 #读取所有行,返回列表
16 # print(fp.readlines())
17
18  #关闭文件
19 fp.close() 

文件

关闭文件 :fp.close

文件的指针移动:file_obj.seek(offset,whence=0),

第一个参数表示偏移量,必须是正数

官方文件里面说的第二个参数whence可以是0,1,2

0 表示开始文件开始位置,

1 表示当前位置

2 表示文件结尾

但是使用1,2的时候总是报错,还没找到解决办法

返回值是新的位置

1 #1.txt内容:hello world
2 with open(‘1.txt‘,‘r‘,encoding=‘utf-8‘) as fp:
3     fp.seek(5)  #移动到hello后的空格位置
4     print(fp.read(3))  #wo
5     fp.seek(0)   #移动到开头
6     print(fp.read(5))  #hello
7     print(fp.tell())   #tell()显示当前指针位置

文件指针移动

文件操作还有csv操作,

1 import csv
2 with open(r‘csv\winequality-red.csv‘) as fp:  #1.打开文件
3     #delimiter指定分隔符
4     csv_reader = csv.reader(fp,delimiter=‘;‘)  #2.获取csv读取器
5     header = next(csv_reader) #获取第一行的标题
6     print(header)
7     for line in csv_reader: #3.遍历所有的行
8         print(line)

csv读取

1 import csv
2 l1 = [[1,2,3],[4,5,6],[7,8,9]]
3 #打开文件时,要添加newline=‘‘参数,否则会多一个空行
4 with open(‘1.csv‘,‘w‘,newline=‘‘) as fp: #1.打开文件
5     #delimiter=‘\t‘指定数据分隔符
6     csv_writer = csv.writer(fp,delimiter=‘\t‘)  #2.获取writer
7     for line in l1:
8         csv_writer.writerow(line)  #3.写入文件

csv写入

原文地址:https://www.cnblogs.com/higer666/p/9459502.html

时间: 2024-07-31 10:35:35

python编程基础之三十六的相关文章

python编程基础之三十七

数据的持久化:数据持久化就是将内存中的对象转换为存储模型,以及将存储模型转换为内存中的对象的统称. 对象可以是任何数据结构或对象模型,存储模型可以是关系模型.XML.二进制流等 Python的数据持久化操作主要是六类:普通文件.DBM文件.Pickled对象存储.shelve对象存储.对象数据库存储.关系数据库存储. pickled:支持python所有的原生类型 dbm:一些小型应用程序中可以使用持久字典来存储名称/值对,他和字典极为类似,就把他当字典一样使用就行,但是有个比较苛刻的要求,键.

python编程基础之十四

列表的增加元素 l1 = [10, 20, 30] l1.append(40)  # 末尾追加一个值为40的元素 l1.extend([50, 60])  # 末尾追加一系列元素,extend + 可迭代对象 l1.insert(len(l1), 70)  # 在制定下标位置插入一个元素,在指定的下标之前插入 列表的删除元素 m = l1.pop()  # 删除一个元素,没有输入参数,默认表示删除最后一个 并且返回被删除的元素值 print( m )  # 70 l1.pop(0)  # 删除下

python编程基础之三十三

构造方法: 目的:构造方法用于初始化对象,可以在构造方法中添加成员属性 触发时机:实例化对象的时候自动调用 参数:第一个参数必须是self,其它参数根据需要自己定义 返回值:不返回值,或者说返回None,不应该返回任何其他值 1 def __init__(self,arg1,arg2....): 2 函数体 3 #参数:arg1,agr2...根据需要自己定义 4 #如果自己不定义构造方法,系统自动生成一个构造函数 5 def __init__(self): 6 pass 如果自己没有写构造方法

Python开发【第十六篇】:AJAX全套

Python开发[第十六篇]:AJAX全套 概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要重新加载全局数据 2.AJAX AJAX,Asynchronous JavaScript and XML (异步的JavaScript和XML),一种创建交互式网页应用的网页开发技术方案. 异步的JavaScript:使用 [JavaScript语言] 以

微软云计算介绍与实践(实践之三十六)

实践大板块五:通过报表获得私有云洞察力 该实践将帮助组织设置报表,提供几乎不停机的更高级别业务持续性及 SLA.IT 可以针对基础架构的性能和使用率获得更深入的洞察力,并通过记账降低运维成本.该测试实践的场景将使用Operations Manager.Virtual Machine Manager 以及 Service Manager. 场景:款项报告,深入洞察使用 我们小张同学连接System Center 2012 Virtual Machine Manager,并使用System Cent

Python编程基础

Python编程基础 数据类型 None 值 整型 浮点型 布尔类型True,False 字符串 元组 tuple(),有序,不可变例:t = (1,)t = (1,'Hello',1.0,True) 列表 list[],有序,可变 例:l = [1,'Hello',1.0,True] 字典 dict{},键-值对,无序例:d = {65:'A',48:0,'a':97,'Hello':'World'} 操作符 数学操作符 + - * / 除 // 整除 % 取模 ** 指数 比较操作符 ==

Bootstrap <基础二十六>进度条

Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet Explorer 9 及之前的版本和旧版的 Firefox 不支持该特性,Opera 12 不支持动画. 默认的进度条 创建一个基本的进度条的步骤如下: 添加一个带有 class .progress 的 <div>. 接着,在上面的 <div> 内,添加一个带有 class .prog

ActionScript3游戏中的图像编程(连载十六)

1.3.2 软件中的拾色器如何实现HSB的色彩空间模型 阅读本书的朋友恐怕很少有机会见到圆柱形的三维取色器,而HSB模式却是一个立体的空间.那么,软件里的颜色拾取器是如何在平面里体现出3D坐标系的呢?让我们从Windows调色板开始研究.图 1.22是Windows系统调色板的界面,抛开左侧的颜色列表不谈,我们可以把Windows调色板分为两个部分:一个二维的平面和一个一维的滑块.乍一看似乎跟之前的圆柱体空间扯不上任何关系,不过有没发现,最右侧那个一维的条是不是跟圆柱体的母线很像,从上而下呈现出

【管理心得之三十六】《黄帝内经》中的一句话

一则故事--------------------------------------- 古代有一天,魏文王问名医扁鹊说:“你们家兄弟三人,都精于医术,到底哪一位最好呢?扁鹊答:“长兄最好,中兄次之,我最差.文王再问:“那么为什么你最出名呢? 扁鹊答:“长兄治病,是治病于病情发作之前.由于一般人不知道他事先能铲除病因,所以他的名气无法传出去:中兄治病,是治病于病情初起时.一般人以为他只能治轻微的小病,所以他的名气只及本乡里.而我是治病于病情严重之时.一般人都看到我在经脉上穿针管放血.在皮肤上敷药等