文件yesterday

Somehow, it seems the love I knew was always the most destructive kind
不知为何,我经历的爱情总是最具毁灭性的的那种
Yesterday when I was young
昨日当我年少轻狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
就如舌尖上的雨露
I teased at life as if it were a foolish game
我戏弄生命 视其为愚蠢的游戏
The way the evening breeze
就如夜晚的微风
May tease the candle flame
逗弄蜡烛的火苗
The thousand dreams I dreamed
我曾千万次梦见
The splendid things I planned
那些我计划的绚丽蓝图
I always built to last on weak and shifting sand
但我总是将之建筑在易逝的流沙上
I lived by night and shunned the naked light of day
我夜夜笙歌 逃避白昼赤裸的阳光
And only now I see how the time ran away
事到如今我才看清岁月是如何匆匆流逝
Yesterday when I was young
昨日当我年少轻狂
So many lovely songs were waiting to be sung
有那么多甜美的曲儿等我歌唱
So many wild pleasures lay in store for me
有那么多肆意的快乐等我享受
And so much pain my eyes refused to see
还有那么多痛苦 我的双眼却视而不见
I ran so fast that time and youth at last ran out
我飞快地奔走 最终时光与青春消逝殆尽
I never stopped to think what life was all about
我从未停下脚步去思考生命的意义
And every conversation that I can now recall
如今回想起的所有对话
Concerned itself with me and nothing else at all
除了和我相关的 什么都记不得了
The game of love I played with arrogance and pride
我用自负和傲慢玩着爱情的游戏
And every flame I lit too quickly, quickly died
所有我点燃的火焰都熄灭得太快
The friends I made all somehow seemed to slip away
所有我交的朋友似乎都不知不觉地离开了
And only now I'm left alone to end the play, yeah
只剩我一个人在台上来结束这场闹剧
Oh, yesterday when I was young
噢 昨日当我年少轻狂
So many, many songs were waiting to be sung
有那么那么多甜美的曲儿等我歌唱
So many wild pleasures lay in store for me
有那么多肆意的快乐等我享受
And so much pain my eyes refused to see
还有那么多痛苦 我的双眼却视而不见
There are so many songs in me that won't be sung
我有太多歌曲永远不会被唱起
I feel the bitter taste of tears upon my tongue
我尝到了舌尖泪水的苦涩滋味
The time has come for me to pay for yesterday
终于到了付出代价的时间 为了昨日
When I was young
当我年少轻狂

  

文件的读写修改

# Author:Allister.Liu
# !/usr/bin/env python
import sys"""
Python3.x对文件的操作文件的打开模式:(其中r, r+, w+, w, a, a+ 比较常用)r    只读。文件指针被放置在文件的开头。这是默认模式。rb  只能以二进制格式读取。文件指针被放置在文件的开头。这是默认模式。r+ 用于读和写文件。文件指针置于该文件的开头。【最常用】rb+  用于读取和写入二进制格式的文件。文件指针置于该文件的开头。w  只写。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。wb  只能以二进制格式写入。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。w+ 写入和读取模式。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。wb+  用于以二进制格式写入和读出文件。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。a 用于追加的文件。文件指针是在文件是否存在该文件的末尾。也就是说,该文件是在追加模式。如果该文件不存在,它会创建一个用于写入的新文件。ab  用于二进制格式追加。文件指针是在文件是否存在该文件的末尾。也就是说,文件是在追加模式。 如果该文件不存在,它会创建一个用于写入的新文件。a+   追加和读取方式。文件指针是在文件是否存在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建用于读写操作的新文件。ab+   附加和二进制格式读取模式。如果该文件存在文件指针在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建读写操作的新文件。二进制开发文件时不能加 encoding="utf-8"
""""""
读模式:
"""
# f = open("yesterday", 'r', encoding="utf-8") # 文件句柄
# data = f.read()
# print(data)"""
写模式:创建新文件,覆盖原文件
"""
# f = open("yesterday", 'w', encoding="utf-8")
# f.write("我爱北京天安门。。。。。。。。。。。。")"""
追加模式:打开文件,在最后追加内容
"""
# f = open("yesterday", 'a', encoding="utf-8")
# f.write("\n我爱北京天安门。。。。。。。。。。。。")#
"""需求:打印出yesterday的内容,但第十行使用"--------------"覆盖掉原内容Note:建议使用第二种方法readlines(): 将文件的整个内容加载到内存,如果文件太大会撑爆内存;而第二种是内存中只会保留一行,读一行删除一行"""
f = open("yesterday", "r", encoding="utf-8")# 第一种方法:
# for index, line in enumerate(f.readlines()):
#     if index == 9:
#         print("".center(30, "-"))
#         continue
#     print(line.strip())# 第二种方法:
# count = 0
# for line in f:
#     if count == 9:
#         print("".center(30, "-"))
#         count += 1
#         continue
#     print(line.strip())
#     count += 1"""
文件读取指针
"""
# print(f.tell()) # 文件读取的指针位置 字符
# f.seek(0) # 设置文件读取的指针位置
# print(f.seekable()) # 判断文件位置指针是否可以移动,tty等文件不能移动# 文件常用方法:
print(f.encoding) # 文件编码
print(f.isatty()) # 是否是终端设备 比如打印机等print(f.readable()) # 判断文件是否可读
print(f.writable()) # 判断文件是否可写# 将数据强制写入文件中,具体用法及说明请看:progress_bar.py
# f.flush()print(f.closed) # 判断文件是否被关闭f1 = open("yesterday", "a", encoding="utf-8")"""文件的截取:truncate(x):将文件内容截取x个字符,不指定则全部截取,返回截取字符数
"""
# print(f1.truncate(1002))"""b 二进制:无需指定编码方式,写入时先转码为二进制
"""
f2 = open("yesterday2", "wb")
# f2.write("Hello World!".encode("utf-8"))# 以二进制格式读取
f3 = open("yesterday", "rb")
# print(f3.readline())f.close()
f1.close()
f2.close()
f3.close()print("以上是文件的读取和新增,以下是文件的修改操作".center(80, "~"))"""需求:将yesterday文件中的“昨日当我年少轻狂”修改为“之前,当我很小时。”文件的修改操作:1、第一种:可以将文件一行一行读取并写入新文件,并判断某一行是否要修改,若修改,则将修改后的内容写入新文件;需打开两个文件一个读一个写1、第二种:可以像vim一行,将文件全部加载到内存,修改完成后又写入进去,这个不建议使用,大文件会撑爆内存。
"""# 第一种
file1 = open("yesterday", "r", encoding="utf-8")
file2 = open("yesterday8", "w", encoding="utf-8")for line in file1:if "昨日当我年少轻狂" in line:line = line.replace("昨日当我年少轻狂", "之前,当我很小时。")file2.write(line)file1.close()
file2.close()# 第一种方式优化,实现传参数
# find_param = sys.argv[1]
# replace_param = sys.argv[2]
# print("参数1 %s, 参数2 %s" %(find_param, replace_param))
# file3 = open("yesterday", "r", encoding="utf-8")
# file4 = open("yesterday8", "w", encoding="utf-8")
#
# for line in file3:
#     if find_param in line:
#         line = line.replace(find_param, replace_param)
#     file4.write(line)
#
# file3.close()
# file4.close()"""with:为了避免打开文件忘记关闭,可以通过管理上下文;语法:with open("yesterday") as f:...当with代码块执行完,内部会自动关闭并释放文件资源。在Python2.7后,with支持对多个文件的上下文进行管理;语法:with open("yesterday") as f, open("yesterday") as f1:..."""# 使用with同时管理多个文件,官方规范:一行不超过80个字符;
with open("yesterday", "r", encoding="utf-8") as f8, \open("yesterday", "r", encoding="utf-8") as f9:print(f8.readline())print(f9.readline())

  

flush详解:progress_bar.py

# Author:Allister.Liu
# !/usr/bin/env pythonimport sys, time"""flush():强制将数据写入,如果不flush(),缓冲区达到一定量时,数据才会写入例如:以下进度条:sys.stdout.flush() 如果没有这个flush,#号会全部一起打印出来,并不是一个一个打印。
"""for i in range(100):sys.stdout.write("#")sys.stdout.flush()time.sleep(0.02)

  

字符编码与转码

  • .在python2默认编码是ASCII, python3里默认是unicode
  • unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间
  • 在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

下图仅适用于Python2.x

(上图来源于金角大王)

转载于:https://www.cnblogs.com/allister/p/8280781.html

Python3之文件的读、写、修改操作相关推荐

  1. 杭电Matlab与仿真-MATLAB基本语法(二)-数据文件的读/写操作

    数据文件的读/写操作 实验目的 实验内容与要求 实验程序与结果 实验目的 学会matlab数据输入与输出基本操作: 熟悉matlab各种文件的输入输出方法,了解常用的图片及音频文件的输入输出: 掌握用 ...

  2. python库读取cif文件_Pymatgen读/写各种文件,pymatgen,读写

    pymatgen读/写各种文件 pymatgen是材料大数据计算的必备程序包了,其也作为API与materials project对接,可以批量下载自己想要的材料结构.性质,它也提供了大量VASP计算 ...

  3. python3中文件的读与写

    Python open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出错误 完整语法:open(file, mode='r', buf ...

  4. 实验九:采用异步方式实现文件读/写

    一:实验目的 (1)了解Windows系统异步文件读/写的概念. (2)熟悉Windows系统文件读/写相关的API. (3)掌握采用异步方式实现文件读/写的相关参数设置. 二:实验准备知识:文件异步 ...

  5. 实验九 使用异步方式实现文件读\写

    实验九 使用异步方式实现文件读\写 一.实验目的 了解Windows系统异步文件读/写的概念. 熟悉Windows系统文件读/写相关的API. 掌握采用异步方式实现文件读/写的相关参数设置. 二.实验 ...

  6. 【轻松学】python中文件的读和写——open、read或readline、close

    文章目录 01. 文件的概念 1.1 文件的概念和作用 1.2 文件的存储方式 文本文件和二进制文件 02. 文件的基本操作 2.1 操作文件的套路 2.2 操作文件的函数/方法 2.3 read 方 ...

  7. 文件------概念、基本操作、打开文件的方式、按行读取文件内容、复制文件、文件/目录的常用管理操作、文本文件的编码格式、练习1-4

    文件的概念 文件的概念 计算机的文件,就是存储在某种长期储存设备上的一段数据 长期存储设备包括:硬盘.U盘.移动硬盘.光盘... 文件的作用 将数据长期保存下来,在需要的时候使用 文件的存储方式 在计 ...

  8. python3.5怎么打开_Python3.5文件修改操作实例分析

    Python3.5文件修改操作实例分析 本文实例讲述了Python3.5文件修改操作.分享给大家供大家参考,具体如下: 1.文件修改的两种方式 (1)像vim一样将文件加载到内存中,修改完之后再写回源 ...

  9. python提供了3个常用的读文件函数、分别是,Python3 对文件操作

    在计算机系统中,以硬盘为载体存储在计算机上的信息集合称为文件.文件可以是文本文档.图片.声音.程序等多种类型.在编程时经常要对文件进行读写等操作, 从程序员的视角可以把文件理解为是连续的字节序列,进行 ...

最新文章

  1. LeetCode 3 无重复字符的最长子串
  2. TIOBE12月榜单:Java重回第二,Python有望四连冠年度语言
  3. HTML5与jQuery实现渐变绚丽网页图片效果
  4. 《Javascript高级程序设计》读书笔记之对象创建
  5. 在js中获取input中的value
  6. cmake / aux_source_directory
  7. left edge algorithm.
  8. 深入理解计算机系统——bomblab
  9. Python+matplotlib调用LaTex引擎渲染公式
  10. 【MySQL】数据库基本操作、表的操作
  11. Python爬虫的智能化解析——Diffbot
  12. Postman设置环境变量
  13. linux 汉化记述
  14. 自然语言处理NLP中的N-gram模型
  15. 数据结构分类及八种常见数据结构
  16. 美化桌面软件测试面试题,软件测试面试题的经典逻辑题
  17. 关于iOS系统你知道多少???
  18. git仓库服务器SSH认证示例
  19. Qt+大恒相机+OpenCV+MinGW界面开发
  20. vue 实现打印与批量分页打印功能

热门文章

  1. Java学习笔记1---JVM、JRE、JDK
  2. css3导航渐变 滑过显示动画
  3. springmvc错误java.lang.IllegalArgumentException
  4. Android国际化-补充
  5. javascript的内置对象
  6. 一个简单的中文自动转拼音
  7. awk 正则表达式、正则运算符详细介绍
  8. LeetCode(1009)——十进制整数的反码(JavaScript)
  9. 【PHP学习】—PHP文件嵌套HTML(四)
  10. error40无法打开到sql_SQL-mysql游标与触发器