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. SpringMVC Spring Mybatis整合篇

    1.创建WEB项目 创建项目:(ssmbuild)步骤略........ 给项目添加lib文件夹,用于存放jar包: 在WEB-INF目录下创建lib文件夹: 创建完成:运行项目时需要把jar导入到l ...

  2. 手写一个简单的HashMap

    HashMap简介 HashMap是Java中一中非常常用的数据结构,也基本是面试中的"必考题".它实现了基于"K-V"形式的键值对的高效存取.JDK1.7之前 ...

  3. Java中集合的嵌套

    集合的嵌套遍历 获取10个1-20之间的随机数,要求不能重复 键盘录入多个数据,以0结束,要求在控制台输出这多个数据的最大值. public static void main(String[] arg ...

  4. pytorch中CUDA类型的转换

    import torch import numpy as np device = torch.device("cuda:0" if torch.cuda.is_available( ...

  5. php中垃圾回收机制

    php中垃圾回收机制 我们可能在开发中经常会听到gc,是的gc就是垃圾回收容器,全称Garbage Collection. 此篇文章中“垃圾”的概念:如果一个变量容器能被减少到0,说明他就已经没有被引 ...

  6. php 数据库备份(可用作定时任务)

    参考: https://blog.csdn.net/weixin_37616043/article/details/87721181 https://blog.csdn.net/stpeace/art ...

  7. 15.Why lambda forms in python does not have statements?

    Why lambda forms in python does not have statements? A lambda form in python does not have statement ...

  8. Redis数据迁移的三个方法

    为什么80%的码农都做不了架构师?>>>   1. rdb数据备份恢复方法 redis 127.0.0.1:6379> SAVE OK 或者 redis-cli -h 127. ...

  9. ELK收集日志到mysql数据库

    场景需求 在使用ELK对日志进行收集的时候,如果需要对数据进行存档,可以考虑使用数据库的方式.为了便于查询,可以同时写一份数据到Elasticsearch 中. 环境准备 CentOS7系统: 192 ...

  10. P1466 集合 Subset Sums 搜索+递推+背包三种做法

    题目描述 对于从1到N (1 <= N <= 39) 的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的.举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,每个子 ...