1、只读文件

#以文本打开文件'r'
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r',encoding='utf-8')
content = f.read()
print(content)
f.close()#中国是个伟大的国家。 #以二进制形式打开文件'rb'
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='rb')
content = f.read()
print(content)
f.close()#b'\xe4\xb8\xad\xe5\x9b\xbd\xe6\x98\xaf\xe4\xb8\xaa\xe4\xbc\x9f\xe5\xa4\xa7\xe7\x9a\x84\xe5\x9b\xbd\xe5\xae\xb6\xe3\x80\x82' '''
'C:\\Users\\Administrator\\Desktop\\Python\\f.txt':路径(不能用'\'!可以用'\\'或'/')
mode:定义操作方式.
encoding:声明,此次打开文件使用什么编码本。一般来说:你的文件用什么编码保存的,就用什么方法打开,一般都是用utf-8(有些使用的是gbk).
f.read():操作文件,比如读文件,给文件写内容,等等,都必须通过文件句柄进行操作.
f.close():关闭文件.
'''

2、只写文件

#对于w:没有此文件就会创建文件。
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'w',encoding= 'utf-8')
f.write('寂*凉')
f.close()#寂*凉 #若有此文件,先将源文件全部清除,再写。
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'w',encoding= 'utf-8')
f.write('5月9号')
f.close()#5月9号
#wb:以二进制写入,需用encode()转换
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'wb')
f.write('5月9号'.encode('utf-8'))
f.close()
#'a':追加写
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'a',encoding= 'utf-8')
f.write('21度')
f.close()#5月9号21度
#'ab':以二进制追加写
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'ab')
f.write('适中'.encode('utf-8'))
f.close()#5月9号21度适中


3、读写

#'r+'读写
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'r+',encoding ='utf-8')
print(f.read())#5月9号21度适中
f.write('5月9日')
f.close() 注意:如果在读写模式下,先写后读,那么文件就会出问题,因为默认光标是在文件的最开始,要是先写,则写入的内容会讲原内容覆盖掉,直到覆盖到写完的内容,然后在后面开始读取。

4、光标控制:seek

  seek(n)光标移动到n位置,注意: 移动单位是byte,所有如果是utf-8的中文部分要是3的倍数
移动到开头:seek(0)
移动到结尾:seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移,默认是0,表示开头,1表示当前位置,2表示结尾
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
f.seek(0) # 光标移动到开头
content = f.read()# 读取内容, 此时光标移动到结尾
print(content)#中国是个伟大的国家。
f.seek(0) # 再次将光标移动到开头
f.seek(0,2) # 将光标移动到结尾
content1 = f.read()# 读取内容. 什么都没有
print(content1)#
f.seek(0)
f.write('确实')
content2 = f.read()# 写入信息. 此时光标在6 中文2 * 3个 = 6
print(content2)#是个伟大的国家。
f.close()

5、功能详解

#(确实是个伟大的国家。)
#read(n):读出的字符数

f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
content = f.read(3)
print(content)#确实是
f.close() #seek(n):按照字节定光标的位置
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')#(确实是个伟大的国家。)
f.seek(3)
content = f.read()
print(content)#实是个伟大的国家。
f.close() #tell():获取当前光标的位置
# f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
f.seek(3)
print(f.tell())#
f.close() f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='a+',encoding='utf-8')
f.write('真的')
count = f.tell()
f.seek(count-6)
print(f.read())#真的
f.close() #readline:一行一行读
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
print(f.readline())
f.close() #readlines:每一行当成列表中的一个元素,添加到list中
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
count = f.readlines()
for i in count:
print(i.strip())
f.close()

6、打开文件另一种方式with open

优点:(1):用with上下文管理这种方式,它会自动关闭文件句柄。

(2):一个with 语句可以操作多个文件,产生多个文件句柄。

with open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8') as f,\
open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode='r+',encoding='utf-8') as f1:
print(f.read())
print(f1.read())

python 基础知识6-文件操作的更多相关文章

  1. Python基础知识(八)----文件操作

    文件操作 一丶文件操作初识 ###f=open('文件名','模式',编码): #open() # 调用操作系统打开文件 #mode #对文件的操作方式 #encoding # 文件的编码格式 存储编 ...

  2. python基础知识-day7(文件操作)

    1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...

  3. python基础知识六 文件的基本操作+菜中菜

    基础知识六 文件操作 ​ open():打开 ​ file:文件的位置(路径) ​ mode:操作文件模式 ​ encoding:文件编码方式 ​ f :文件句柄 f = open("1.t ...

  4. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  5. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  6. Python基础7:文件操作

    [ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...

  7. python学习笔记-(七)python基础--集合、文件操作&函数

    本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...

  8. Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

    1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

  9. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  10. python基础学习笔记——文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

随机推荐

  1. [linux][nginx] 常用

    原文链接http://www.cnblogs.com/codingcloud/p/5095066.html 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root ...

  2. 这份Mybatis总结,我觉得你很需要!

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y Mybatis应该是国内用得最多的「数据访问层」 ...

  3. 开源软件SoftEther使用

    最近在寻找比较好用的开源VPN,感觉SoftEther很符合我的需求.一方面是SoftEther属于开源软件并且一直在更新,另一方面是功能强大,好用. VPN支持路由功能和NAT功能,还支持多种类型的 ...

  4. MySql -- 数据结构

    现在的数据表不单单只是存储数据,还有的是设计功能和快速处理数据的结构功能: 首先,我们在设计数据库的时候,我们要先分清楚,那些是要单纯的存储数据的(固定),然后再设计出来数据的表(流动) 你懂我意思吧 ...

  5. nginx 配置多个 https 域名访问

    需要此操作的原因 在服务器上部署了 halo blog 以后,这次需要部署另外一个项目,但是又不想使用 ip + port,因此选择使用 nginx 配置多个域名访问. nginx 配置 server ...

  6. HashMap源码解析JDK8

    一.HashMap基础 1.1 HashMap的定义 我们先看一下HashMap的定义: public class HashMap<K,V> extends AbstractMap< ...

  7. http 之 CORS简介

    什么是CORS? CORS:跨域资源共享.是一种机制. 用处? 它使用额外的 HTTP 头来告诉浏览器  让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定 ...

  8. Python封装应用程序的最佳项目结构是什么?

    Python封装应用程序的最佳项目结构是什么? 转载来源于stackoverflow:https://stackoverflow.com/questions/193161/what-is-the-be ...

  9. Crash日志解析

    当应用程序崩溃时,会创建一个崩溃报告,这对于了解导致崩溃的原因非常有用.本文档包含有关如何表示,理解和解释崩溃报告的基本信息. 1.介绍 2.获取崩溃和低内存报告 3.象征性的奔溃报告 1.位码(bi ...

  10. 谈谈Java的线程池设计

    在实际项目中,如果因为想异步执行暂时性的任务而不断创建线程是很浪费资源的事情(当一个任务执行完后,线程也没用了).这种情况下,最好是将任务提交给线程池执行. 所谓池,就是将管理某一种资源,对资源进行复 ...