python 文件操作联系 r+ w+ a+ 的理解

突然来一句:“慨然有经略四方之志”

文件操作三部曲:1.先用open打开 2.再写关闭  3.再回到中间写操作     为啥要刚打开就关闭 那是很容易望,所以先写上。。。

基本格式 f = open("file_name", "r", encoding="utf-8")    都得有才标准呐 !

f.read() 如果不写读几位,它会一直读下去 文件指针也就从头跟着下去,而且他是不会自己回来滴  所以要用f.seek()  把指针找回来并放到想去的位置。f.tell()是告诉指针当前的位置

f.readline()是读一行  f.readlines() 是把文件全部读出来做个列表,然后把每一行作为列表的一个元素  list = f.readlines()   list[3]   就是第四行内容了  这种方法只适用于小文件,因为占内存啊

想要读一个文件 但是不读某一行  一种很low的写法是:   for index, line in emunerate(f.readlines())     然后在里头搞个判断让他在指定行不输出就欧克了 占内存是真!

一个逼格高点的,正常的写法是:  for line in f     然后直接操作就行,不过得加个count来自己计数 但这样不占内存啊,就一行

“rb” 是以二进制读的方式打开   “wb"是以二进制写的方式打开    用于网络传输的  注意f.write("str".encode())  写的时候要编码encod()

一下是一些操作练习,还是叫草稿把。。。。。。不过倒是把" r+" "w+" "a+"  搞明白了

 1 #!usr/bin/env/ python
 2 # -*- coding:utf-8 -*-
 3 # Author:XiaoFeng
 4 import time
 5 import sys
 6
 7 # r+  读写 不重新创建 而是在源文件写
 8 # 要注意写的时候,文件指针的位置,
 9 # 不然可能覆盖原先部分内容
10 f1 = open("test_file", "r+", encoding="utf-8")
11 print(f1.tell())
12 f1.write("哇哈哈哈哈哈!")
13 print(f1.tell())
14 f1.seek(0)
15 print(f1.tell())
16 date = f1.read()
17 print(date)
18 f1.write("测试")
19 print(f1.tell())
20 f1.close()
21
22 print("-" * 50)
23
24 # w+  写读  创建一个新的再写 就是在搞个这个名字的空文件,
25 # 源文件没了 所以一开始读也是空的
26 # 内容全部从头重新里面写,
27 f2 = open("test_file1", "w+", encoding="utf-8")
28 print(f2.tell())
29 date1 = f2.read()
30 print("----%s----" % date1)
31 f2.write("哦哦哦哇哈哈哈哈哈!")
32 print(f2.tell())
33 f2.seek(0)
34 print(f2.tell())
35 date2 = f2.read()
36 print("----%s----" % date2)
37 print(f2.tell())
38 f2.close()
39
40 print("-" * 50)
41
42 # a+ 追加读写  没有的话会新建一个文件
43 # 若有文件 则在源文件基础上 在末尾追加内容
44 # 欲使用seek改变指针位置从而改变写的位置是无效的
45 # 只能加在最末尾
46 f3 = open("test_file2", "a+", encoding="utf-8")
47 print(f3.tell())
48 date3 = f3.read()
49 print("----%s----" % date3)
50 f3.write("啊啊啊啊哦哦哦哇哈哈哈哈哈!")
51 print(f3.tell())
52 f3.seek(0)
53 print(f3.tell())
54 date4 = f3.read()
55 print("----%s----" % date4)
56 print(f3.tell())
57 f3.seek(5)
58 f3.write("测试测试")
59 f3.seek(0)
60 print(f3.read())
61 f3.close()
62
63 # 截断  即保留一段 剩下的全删
64 # 注意这里seek改变指针位置也没作用 照样从头开始数
65 f4 = open("test_file3", "w+", encoding="utf-8")
66 print(f4.tell())
67 f4.write("123456789")
68 f4.seek(0)
69 date = f4.read()
70 print(date)
71 f4.seek(2)
72 f4.truncate(5)
73 f4.seek(0)
74 date5 = f4.read()
75 print(date5)
76 f4.close()
77
78 print("-" * 50)
79
80 # 做一个进度条
81 for i in range(50):
82     sys.stdout.write("#")   # sys.stdout.write() 标准输出内容 无空个回车
83     sys.stdout.flush()      # f.flush()  刷新 立即存入硬盘
84     time.sleep(0.1)         # sys.stdout.flush() 立即输出到屏幕
85
86 print(f3.name)   # 打印名字 注意后面没括号

原文地址:https://www.cnblogs.com/xf1262048067/p/10561997.html

时间: 2024-08-04 08:08:27

python 文件操作联系 r+ w+ a+ 的理解的相关文章

Python文件操作及seek偏移详解

本文和大家分享的主要是python中文件操作及seek偏移相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.Python文件操作中的编码 本次测试是基于Python 2.7.12  OS:Ubuntu 16.04  pycharm环境,以及Win7下2.7.12; 首先说下汉字在文件中占用的字节数,这个先看以下实验(Win7)下 因为Linux下不支持gbk,本文不讲utf-8 ,gbk编码具体知识.本次实验只讲解python在使用utf-8和gbk编码时,对汉字占用的字节有所不

Python基础篇【第2篇】: Python文件操作

Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说:1. 打开文件 2.操作文件 3.关闭文件 1. 打开文件.关闭文件 Python中使用open函数打开一个文件,创建一个file操作对象. open()方法 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细

第六章、Python文件操作

第六章.Python文件操作 Python可以对文件进行查看.创建等功能,可以对文件内容进行添加.修改.删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数. 一.Python文件打开方式 文件句柄 = open('文件路径','打开模式') Nginx_Conf = open('nginx.conf','r',encoding='utf-8') Ps:文件句柄相当于于变量名,文件路径可以写为绝对路径

Lesson 024 —— python 文件操作

Lesson 024 -- python 文件操作 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法. open() 函数常用形式是接收两个参数:文件名(file)和模式(mode). open(file, mode='r') 完整的语法格式为: open(file, mode='r',

3 Python文件操作

Python文件操作 open 以什么编码方式存储文件,就以什么编码方式打开 f = open('d:\模特主妇护士班主任.txt',encoding='utf-8') # 绝对路径打开 f.close() f = open('模特主妇护士班主任',encoding='utf-8') # 相对路径打开 f.close() with open('log',encoding='utf-8') as f: # 此方法常用 不用进行close 读 read # r 以str的方式读出 f = open(

Python文件操作 I/O

Python 文件 I/O(输入/输出)是比较乏味的事情,因为看不到明显的运行效果,但 I/O 是所有程序都必需的部分,使用输入机制,允许程序读取外部数据(包括来自磁盘.光盘等存储设备的数据),用户输入数据:使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘.光盘等存储设备中: Python 提供有非常丰富的文件 I/O 支持,它既提供了 pathlib 和 os.path 来操作各种路径,也提供了全局的 open() 函数来打开文件(在打开文件之后,程序既可读取文件的内容,也可向文件输出

Python文件操作:文件的打开关闭读取写入

Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文件. 2.操作文件:读/写. 3.关闭文件. 操作系统中的文件默认处于存储状态,读写文件时需要请求操作系统打开一个要在当前程序操作的对象,打开不存在的文件可以创建文件.open()方法通过接收"文件路径"以及“文件打开模式”等参数来打开一个文件,并且返回文件对象.打开后的文件只能在当前程序

关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折腾的序幕 db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp() 稍微查询一下就能了解到 tempfile是一个临时文件模块. 包含了一些临时文件的操作 tempfile.mkstemp() 在很老很老的python版本的时候,第一个参数是

python 文件操作seek() 和 telll() 自我解释

python 文件操作seek() 和 telll()  自我解释 file.seek()方法格式: seek(offset,whence=0)   移动文件读取指针到制定位置 offset:开始的偏移量,也就是代表需要移动偏移的字节数. whence: 给offset参数一个定义,表示要从哪个位置开始偏移:0代表从文件开头算起,1代表开始从当前位置开始算起,2代表从文件末尾开始算起.当有换行时,会被换行截断.                        seek()无返回值,故值为None