1、文件读写简单实例:(以w写的方式打开一个文件,以r读一个文件)

# Author : xiajinqi

# 文件读写的几种方式
# 文件读写
f = open("D://test.txt","w",encoding="utf-8")
f.write("hello world")
f.flush()
f.close() f = open("D://test.txt","r",encoding="utf-8")
data = f.read()
data2 = f.read()
f.seek(0,0)
data3 = f.read()
print("data-------------------",data)
print("data2------------------",data2)
print("data3-----------------",data3)

2、文件写的w和a 简单介绍

# Author : xiajinqi

# 文件读写的几种方式
# 文件写,文件写,如果就文件存在,会清空旧文件内容(切记),如果不存在就创建。并且不能读
f = open("test.txt","w",encoding="utf-8")
f.write("hello world1\n")
f.write("hello world2\n")
f.write("hello world3\n")
f.flush()
f.close() f = open("D://test.txt","r",encoding="utf-8")
data = f.read()
print(data)
f.close() # 文件追加,不能读,在文件尾部追加,不会清空旧的文件
f = open("test.txt","a",encoding="utf-8")
f.write("追加1")
f.close() f = open("test.txt","a",encoding="utf-8")
f.write("\n追加2")
f.close() f = open("test.txt","r",encoding="utf-8")
data = f.read()
print(data)
f.close() 执行结果
E:\Users\xiajinqi\PycharmProjects\twoday\venv\Scripts\python.exe E:/Users/xiajinqi/PycharmProjects/twoday/file.py
hello world1
hello world2
hello world3 hello world1
hello world2
hello world3
追加1
追加2 Process finished with exit code 0

3、文件读r的详细使用。文件读的几种方式和优缺点:

 # Author : xiajinqi
# 文件读按照行数读
#方式一,读全部内容(文件太大时候,内存会爆掉)
f = open("test.txt","r",encoding="utf-8")
print("一次性读出来--------------")
print(f.read())
f.close() #方式2,一行一行读readline ,读出所有的行,并且转换为数组f.readlines()
#由于一直在往内存读,导致内存会爆掉,这种循环又称为low
f = open("test.txt","r",encoding="utf-8")
print("一行一行读low looper--------------")
for key,line in enumerate(f.readlines()):
print(key,line.strip())
f.close() # 方式3 :文件循环读。内存每次只有一行,读一行,关闭一行,内存永远不会爆掉。建议使用3,效率最高
f = open("test.txt","r",encoding="utf-8")
print("一行一行读bigger looper--------------")
for line in f :
print(line.strip())
f.close()

4、练习题目 ,实现第九行不打印的两种方式

方式一:
f = open("test.txt","r",encoding="utf-8")
print("不打印第九行")
count = 0
for line in f :
count = count + 1
if count == 9 :
print("分隔符>>>>>>>>>>>>>>>>>>>")
continue
print(line.strip())
f.close() 方式二:
f = open("test.txt","r",encoding="utf-8")
print("不打印第九行方式二")
for key,line in enumerate(f.readlines()) :
if key == 8 :
print("分隔符>>>>>>>>>>>>>>>>>>>")
continue
print(key+1,line.strip())
f.close()

5、seek(),tell()  介绍和总结:

#tell 记录当前指针的位置(字符位置),seek设置指针的位置

f =  open("test.txt","r",encoding="utf-8")
print("第一次打印")
print(f.read())
print(f.read()) # 指针已经到了文件尾部,继续读将为空
print("第二次打印")
f.seek(0,0)
print(f.read())
f.close() #查找当前位置
f = open("test.txt","r",encoding="utf-8")
f.readline()
print(f.tell())
f.close()

6、文件的其他函数总结:

#
f = open("test.txt","r",encoding="utf-8")
print("其他函数使用")
print(f.fileno()) #文件在系统中的编号,一般
print(f.name) #文件名字
print(f.seekable()) #终端设备无法移动
print(f.readable()) #文件是否可以读
f.close()

7、flush 使用。将内存数据写到文件(系统默认不是实时刷新)

import sys,time
# 显示进度条
for i in range(10) :
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.2)

python学习之文件读写入门(文件读的几种方式比较)的更多相关文章

  1. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  2. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  3. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  4. 使用 JavaScript 的 HTML 页面混合、JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出“点击我进入到百度首页”的超链接

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 的 HTML 页面混合.JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出"点击我进 ...

  5. python学习笔记(二)文件操作和集合

    集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...

  6. python学习笔记之十:文件和素材

    这里将介绍函数和对象--文件和流,让你在程序调用期间存储数据,并且可以处理来自其他程序的数据. 一. 打开文件 1.1 open函数 open函数用来打开文件,语法如下:open(name,[.mod ...

  7. python学习笔记——(三)文件操作

    ·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...

  8. Python学习笔记 -- 第六章 文件操作

    I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这 ...

  9. python学习day9 字符编码和文件处理

    1.字符编码 x='上' #unicode的二进制--------->编码-------->gbk格式的二进制 res=x.encode('gbk') #bytes 字节类型 print( ...

随机推荐

  1. %02hhX

    大家经常会遇到将 调试信息例如从网络收到的数据包 或者 转换后的数据 打印出来,调试问题. 如果以ascii码打印的话,控制字符和ascii码以外的字符不能很好的查看具体值(看不到,或者乱码,尤其对于 ...

  2. c# 的传递参数值传递与传递引用的区别,ref与out区别

    值传递 C#默认都是值传递的,就是复制变量的一个副本传递给方法,所以在退出方法后,对变量的修改无效. 但是要注意,当传递是引用类型时,因为引用类型是一个引用的地址,所以修改引用地址指向的对象时,一样会 ...

  3. July 06th 2017 Week 27th Thursday

    Knowledge is the antidote to fear. 知识可以解除恐惧. Fear always steps from unknown things. Once we know wha ...

  4. Android Studio使用GIt提交代码到本地仓库后没有Push,如何回退保存

    当在AS中使用Git来提交代码时,有时候我们不注意的情况下会把不想提交的文件或文件夹(比如\build下的)提交到本地仓库,如果此时并没有Push到远程仓库的话.如果让本地仓库的提交回退并且保存之前的 ...

  5. 039条件变量同步(Condition)

    也是锁,这个锁多加了wait(),notify()唤醒一个进程,notifyall()唤醒全部进程方法,创建的时候默认是Rlock类型的锁,可以设置为lock类型的,默认就ok from random ...

  6. vue - 数据驱动,组件化, 双向绑定原理

    1.数据驱动 传统的前端数据交互是用Ajax从服务端获取数据,然后操作DOM来改变视图: Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层.它让 ...

  7. @RequestParam和@PathVariable的区别及其应用场景

    @RequestParam和@PathVariable这两者之间区别不大,主要是请求的URL不一样 用@RequestParam请求接口时,URL是:http://www.test.com/user/ ...

  8. Vue多个元素展开收起

    html: <div class="helpPages_main"> <div class="read" v-for="(item, ...

  9. Python之基本排序算法的实现

    import cProfile import random class SortAlgorithm: def __init__(self,unsortedlist=[]): self.unsorted ...

  10. java中强引用、软引用、弱引用、幻象引用有什么区别?分别使用在什么场景?

    不同的引用类型,主要体现在对象的不同可达性(reachable)状态和对垃圾收集的影响. 1.强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就表明对象还"活着",垃 ...