# -*- coding: utf-8 -*-
import sys, time

# 读文件:一次性读取所有内容
#r=read
f = open("singe.txt", 'r', encoding="utf-8").read()
print(f)

# 写文件,覆盖原来的文件
# w=write
f1 = open("singe1.txt", 'w', encoding="utf-8")
f1.write("my name is liyuzhoupan \n")
f1.write("welcome 123!!!")
f1.close()

# 追加模式
# a=append
f2 = open("singe2.txt", 'a', encoding="utf-8")
f2.write("jiushizhegewenjian\n")
f2.close()

# 读取前5行,readline()读取一行
f4 = open("singe.txt", 'r', encoding="utf-8")
for i in range(5):
print(f4.readline()) # 按行读取
f4.close()

print("f5".center(50, "*"))
# 循环读取所有,readlines(),一次性读所有行
f5 = open("singe.txt", 'r', encoding="utf-8")
for line in f5.readlines():
if line != " ":
print(line.strip())
f5.close()

print("f6".center(50, "*"))
# 不打印第N行
f6 = open("singe.txt", 'r', encoding="utf-8")
for index, line in enumerate(f6.readlines()):
if index == 9:
print("我是第9行".center(50, "-"))
continue
print(line.strip())

# 循环读取==高效读取方法
f7 = open("singe.txt", 'r', encoding="utf-8")
count = 0
for line in f7:
if count == 9:
print(line)
print("我是{count}行".format(count=count).center(20, "*"))
count += 1
continue
print(line)
count += 1

# 记录当前位置
f7 = open("singe.txt", 'r', encoding="utf-8")
print("--------------------")
print(f7.readline())
print(f7.tell())
print(f7.seek(10))
# print(f7.readline())
f7.close()

# 刷写文件
f8 = open("singe.txt", 'a', encoding="utf-8")
f8.write("hello liyuzhou pan\n")
f8.flush()
f8.close()

# 文件读写
f9 = open("singe.txt", 'r+', encoding="utf-8")
print(f9.readline())
print(f9.readline())
print(f9.readline())
f9.write("ddddddddddddddddddddddddd00")
f9.close()

# 【二进制文件读】
f10 = open("singe.txt", 'rb')
print(f10.readline())
print(f10.readline())
print(f10.readline())
f10.close()

# 【二进制文件写】
f11 = open("singe.txt", 'ab')
f11.write("liyuzhou".encode())
f10.close()

# 【文件修改】
file_tmp = open("singe.txt.tmp", 'w', encoding="utf-8")
with open("singe.txt", 'r', encoding="utf-8") as file:
for line in file:
if "披上红妆" in line:
file_tmp.write("幻想就**********披上红妆\n")
elif line == "\n":
print("******")
else:
file_tmp.write(line)

file_tmp.close()

python菜鸟学习: 9. 文件操作的更多相关文章

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

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

  2. python基础学习之文件操作&函数

    1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...

  3. Python基础学习四 文件操作(二)

    ####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...

  4. Python基础学习三 文件操作(一)

    文件读写 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[不可读: 不存在则创建:存在则只追加内容:] r+,[可读.可写:可追加,如果打开的文件不存 ...

  5. python入门学习:3.操作列表

    python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表   循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...

  6. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  7. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  8. python学习总结---文件操作

    # 文件操作 ### 目录管理(os) - 示例 ```python # 执行系统命令 # 清屏 # os.system('cls') # 调出计算器 # os.system('calc') # 查看 ...

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

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

  10. python学习日记(文件操作)

    文件操作概述 计算机系统分为:操作系统,计算机硬件,应用程序. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序 ...

随机推荐

  1. python 小顶堆

    from heapq import *heap=[]for i in range(10,1,-1): heappush(heap,i)print(heap)print(heappop(heap))pr ...

  2. WPF图片的缩放节省内存

    一.前言 正好项目用到要加载大量图片,虽然说可以使用WPF提供的自带的UI虚拟化功能,但是直接加载大量的图片到内存还是会 消耗很多的内存,而且WPF支持UI虚拟化的ListBox等容器的布局是Virt ...

  3. win10 + emacs + sml

    1.官网下载sml编译器是smi安装包,安装结束之后把bin文件夹放到环境变量Path中 2.下载emacs压缩包,直接解压 3.emacs中alt+x,输入package-list 然后选择sml- ...

  4. OS复盘

    OS复盘 OS课设已经结课一段时间了,我也从其他课程中抽身出来,有了一段能够好好反思的时光. 说实话,完成OS课设的过程是很痛苦的,指导书蜻蜓点水.注释模棱两可.各种函数和文件调用杂乱无章.每次在完成 ...

  5. beego入门

    beego的官方仓库地址是 https://github.com/beego/beego 为什么要特别说明这个事情呢?因为我们引入的包地址,有可能是从官方fork的,特别是beego,有的教程上通过g ...

  6. ES-增删改查

    写作目的 供想了解ES数据操作的伙伴学习ES的CRUD操作. 测试环境 ES7.8.1 postman 创建索引库 // PUT请求 localhost:9200/test_alert { " ...

  7. Docker CLI docker buildx bake 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  8. Docker 基础常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  9. K8S-pod详解

    目录: namespace六大类型 Pod基础概念 Pod两种使用方式 通常把Pod分为两类 Pod容器的分类 init的容器作用 镜像拉取策略(image PullPOlicy) 部署harbor创 ...

  10. ddl锁表统计

    官方文档: https://dev.mysql.com/doc/refman/5.7/en/innodb-online-ddl-operations.html 虽然官方统计了大部分DDL操作时,是否允 ...