对文件操作流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件

现有文件如下 命名为7 years

Once I was seven years old my momma told me
那年我七岁 妈妈就对我说
Go make yourself some friends or you'll be lonely
去交些朋友 不然你会孤独寂寞
Once I was seven years old
那年我七岁
It was a big big world but we thought we were bigger
这个辽阔的大千世界 总以为我们也会变得更加强大
Pushing each other to the limits we were learning quicker
将彼此逼到绝境 我们得以更快的成长
By eleven smoking herb and drinking burning liquor
十一岁那年 我吸大麻 喝烈性酒
Never rich so we were out to make that steady figure
生活捉襟见肘 我们离家奋斗只为有个稳定收入
Once I was eleven years old my daddy told me
十一岁那年 爸爸对我说
Go get yourself a wife or you'll be lonely
给自己找个妻子 否则你会空虚寂寞
Once I was eleven years old
那年我十一岁
I always had that dream like my daddy before me
我常梦想着有朝一日能像爸爸一样成为一个歌手
So I started writing songs I started writing stories
所以我开始写歌 开始写不同的故事
Something about the glory just always seemed to bore me
曾经的光辉岁月 对我来说也已厌倦
Cause only those I really love will ever really know me
因为只有那些我真正爱的人才真的懂我
Once I was 20 years old my story got told
二十岁那年 我的故事广为流传
Before the morning sun when life was lonely
黎明还未照耀前 孤独的我无人相伴
Once I was 20 years old
那年我二十岁

 以下代码是一些基本操作,可以把相应的注释符去掉,逐一验证

 #-*-coding:utf-8-*-
#_author_:Keep #data = open('7 years',encoding='utf-8').read()
'''
#只读模式
f = open('7 years','r',encoding='utf-8')#文件句柄
data = f.read()
print(data)
'''
'''
#只写模式
f = open('随笔','w',encoding='utf-8')#w,只写模式,不可读;不存在则创建;存在则删除内容;
f.write('你的孤独,\n')
f.write('虽败犹荣。')
'''
'''
#追加模式 a = append 追加
f = open('7 years','a',encoding='utf-8')
f.write('\n你的孤独,\n')
f.write('虽败犹荣。')
f.close()
'''
'''
#读前两行
f = open('7 years','r',encoding='utf-8')
for i in range(2):
print(f.readline())
'''
'''
f = open('7 years','r',encoding='utf-8')
#print(f.readlines())#把文件转化为列表
for line in f.readlines():
print(line.strip())#strip去掉换行和空格
'''
'''
#(较low)在第五行后取分割线
f = open('7 years','r',encoding='utf-8')
for index,line in enumerate(f.readlines()):
if index == 5:
print('---------分割线-----------')
continue
print(line.strip())
'''
#(高逼格)在第五行后取分割线
f = open('7 years','r',encoding='utf-8')
count = 0
for line in f:
if count == 5:
print('------------分割线-----------')
print(line)
count += 1

tell和seek的配合

f = open('7 years','r',encoding='utf-8')
print(f.tell())#打印光标所在位置
print(f.readline())
print(f.readline())
print(f.tell())
f.seek(10)#把光标回到指定位置
print(f.readline())
print(f.encoding)
print(f.name)#打印文件名
print(f.readable())#判断文件是否可读
print(f.writable())#判断文件是否可写
print(f.closed)#判断文件是否关闭

其他有趣的文件操作

flush的作用就是每写一行就刷进硬盘,以下是演示过程

#好玩的进度条
import sys,time#导入sys和time模块
for i in range(10):
sys.stdout.write("%")
sys.stdout.flush()
time.sleep(1)#时间间隔1s
截断truncate的用法:
f = open('7 years','a',encoding='utf-8')
#f.truncate()#括号什么都不写表示清空文件里的内容
f.truncate(10)#指定截断
r+ , a+ , w+, rb, wb的用法:
#f = open('7 years','r+',encoding='utf-8')#读写
#f = open('7 years','w+',encoding='utf-8')#写读
#f = open('7 years','a+',encoding='utf-8')#追加读写
#f =open("7 years",'rb')#读二进制文件 以下两种情况需要用到此方法:1,网络传输 2,下载
f = open("7 years","wb")#写二进制文件
f.write("hello!".encode())
f.close()
'''
print(f.tell())
f.write("----------7 years-----------")
'''

 文件的修改,以下代码对7 years文件的英文和中文同时修改。

f = open("7 years",'r',encoding='utf-8')
f_new = open("7 years.new",'w',encoding='utf-8') for line in f:
if "那年我七岁" in line:
line = line.replace("那年我七岁","那年我八岁")
if "Once I was seven years old" in line:
line = line.replace("Once I was seven years old","Once I was eight years old")
f_new.write(line)
f.close()
f_new.close()  

 with的用法:

#with作用自动关闭文件
with open("7 years","r",encoding="utf-8") as f:
for line in f:
print(line)

  


 

(Python基础)文件操作的更多相关文章

  1. python基础-文件操作

    一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...

  2. python基础-文件操作(10)

    一.什么是文件 等等这些都叫做文件,各种格式的.但不仅仅限制于这些. 二.文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了 ...

  3. Python基础--文件操作和集合

    这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...

  4. python 基础文件操作

    实时刷新到硬盘里 f= open('hh','w',encoding='utf8') f.write('gyftyftft') f.write('hghgh\njkkjk') f.flush()#实时 ...

  5. Python 基础 文件操作

    字符串与字节之间的转换 # utf-8 一个汉字 占三个字节 # gbk 一个汉字 占两个字节 # 字符串转换成字节 print(bytes('汉字', encoding='utf-8'))print ...

  6. python基础--文件操作实现全文或单行替换

    python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开. 替换文本中的taste 为 tasting Yesterday whe ...

  7. Python基础————文件操作

    文件操作 4.1 文件基本操作 obj = open('路径',mode='模式',encoding='编码') # 表示要干嘛 读 还是写 obj.write() #写什么内容 obj.read() ...

  8. Python基础—文件操作(Day8)

    一.文件操作参数 1.文件路径 1)绝对路径:从根目录开始一级一级查找直到找到文件. f=open('e:\文件操作笔记.txt',encoding='utf-8',mode='r') content ...

  9. python基础 — 文件操作

    读取键盘输入 Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: raw_input input raw_input函数 raw_input([prompt]) 函数从 ...

  10. Python基础-文件操作(七)

    一.文件基本操作 1.open 打开模式: w模式 写模式write 文件不存在时会创建文件,如果文件已存在则会清空文件 r模式 读模式read 文件不存在就报错,存在则准备读取文件 a模式 追加模式 ...

随机推荐

  1. web渗透学习方向

    本章写给新加入我们破晓工作室的学弟学妹. 我现在写的是渗透方向的学习方向.因为我参加了线上培训班,听了专门培训渗透的课程后.所以感觉我们工作室自学太累了.如果没有一个“正确”的学习方向都不知道该学些什 ...

  2. Alisha’s Party (HDU5437)优先队列+模拟

    Alisha 举办聚会,会在一定朋友到达时打开门,并允许相应数量的朋友进入,带的礼物价值大的先进,最后一个人到达之后放外面的所有人进来.用优先队列模拟即可.需要定义朋友结构体,存储每个人的到达顺序以及 ...

  3. 使用JBolt新建Maven版工程步骤

    一.打开新建对话框 在左侧右键new中可以找到JFinal创建工程的菜单 JBoltHome页面也有快捷按钮用来弹出创建工程对话框. 二.填写Maven和其他信息配置 填写工程name 主包名 下面有 ...

  4. Python基础:二、python介绍

    Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言 python的创始人为GuidovanRossum.1989年圣诞节期间,Guido再阿姆斯特丹未来打发时间,决心开发一个新的脚本解释程序 ...

  5. pip install torch on windows, and the 'from torch._C import * ImportError: DLL load failed:' solution

    通过pip安装PyTorch 0.4.0成功(cpu, not gpu; python3.5; pip): pip3 install http://download.pytorch.org/whl/c ...

  6. js练习

    /** * Created by bianxiaoling on 2018/9/7. */ // 获取 url 中的参数 // 1. 指定参数名称,返回该参数的值 或者 空字符串 // 2. 不指定参 ...

  7. 【转】百度UEditor控件中的map组件不支持https使用的问题解决

    原文地址:https://blog.csdn.net/stacy06/article/details/82626363 最近项目部署到了https环境下,使用的UEditor富文本编辑器中的map组件 ...

  8. [转]微软商店 打开就显示无法加载该页面 代码0x80131500?

    在某博客看到的方法,供参考,可以尝试一下,我的也是这么解决的 1.打开“运行”输入 inetcpl.cpl (“WINDOWS”+“R”键,输入 inetcpl.cpl亦可) 2.点开高级往下拉,勾上 ...

  9. Windows 数字化器类输入设备--笔设备分析(1)(原创)

    一.前言: 参考microsoft公司的链接:https://developer.microsoft.com/zh-cn/windows/hardware 将对Windows数字化器类输入设备--笔设 ...

  10. Linux内核中常用的数据结构和算法(转)

    知乎链接:https://zhuanlan.zhihu.com/p/58087261 Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树. 链表 Linux内核代码大量使用了 ...