文件的读写

文件的最基本读写方式

 1 f=open('小重山','r',encoding='utf8')
 2 date=f.read(5)                         #
 3 print(date)
 4 f.close()
 5 
 6 import time
 7 f=open('小重山2','a',encoding='utf8')
 8 
 9 date=f.write('\n hello cindy.\n')
10 date=f.write('im so young')
11 
12 time.sleep(2)
13 f.close()

#注意 如果用这种方式打开的文件 一定要使用close()方法关闭文本 虽然python一般情况下会自动关闭文档

Read的一些方法

 1 f1=open('小重山','r',encoding='utf8')
 2 for i in f1:
 3     print(i.strip())                    #迭代器 最优的打印方式 打印一次(很可能是一行)释放一次 然后再取下一次
 4 
 5 f2=open('小重山','r',encoding='utf8')
 6 print(f2.tell())
 7 print(f2.read(5))
 8 print(f2.tell())                        #tell 告诉当前光标所在的位置 当然 如果内容是中文的话 那么一个中文就占3个字符 与编码有关
 9 
10 f2.seek(0)                              #自定义光标的位置
11 print(f2.read(4))

 

Wirte的一些方法

import  sys,time
for i in range(50):sys.stdout.write("#")               #sys.stdout 这是一个终端操作 在终端上显示sys.stdout.flush()                  #flush实时写入硬盘time.sleep(0.01)f3=open('小重山3','a',encoding='utf8')
f3.write("im good very good \n千里江陵一日还\n两岸猿声啼不住\n轻舟已过万重山\n")
f3.truncate(15)                         #数据截断 比如ftp重传 可以截断你需要截断的位置
f3.close()

 

r+ w+ a+

 1 #r+,w+,a+
 2 f3=open('小重山3','r+',encoding='utf8')    #r+模式 可读可写 从第一个字符开始读 写是在最后写
 3 print(f3.readline())
 4 f3.write('cindy')
 5 f3.close()
 6 
 7 
 8 f4=open('小重山4','w+',encoding='utf8')      #w+先刷新(清空文件) 后再写
 9 print(f4.readline())
10 f4.write("cindy")
11 print(f4.tell())
12 f4.seek(0)
13 print(f4.readline())
14 f4.close()
15 
16 
17 f5=open('小重山5','a+',encoding='utf8')        #a+从最后一个字符开始读 可读可写
18 print(f5.tell())
19 print(f5.readline())
20 f5.write("hello")
21 print(f5.tell())
22 print(f5.readline())
23 f5.close()
24 
25 
26 终极问题
27 f=open('小重山','r+',encoding='utf8')
28 num=0
29 for i in f:
30     num +=1
31     if num ==6:
32         f.write('cindy')                        #write操作说明  写从来都是从最后开始写的 跟读所在的指针位置无关 这是一种存储机制
33 
34 
35 f=open('小重山','r',encoding='utf8')
36 temp=open('temp','w',encoding='utf8')
37 num=0
38 for i in f:
39     num+=1
40     if num ==6:
41         i=''.join([i.strip(),'cindy\n'])
42     temp.write(i)
43 
44 f.close()
45 temp.close()

 

with同时管理多个对象

1 with open('log','r') as a,open('log2','w') as f:
2     for i in a:
3         f.write(i)

 

转载于:https://www.cnblogs.com/cindy7/p/10927809.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习小记录

一次性较快删除文件夹 npm install rimraf -g rimraf node_modules

如何运行exe文件

有三种方式 第一种:找到所在文件双击运行。 第二种:在命令行里面运行所在文件夹的位置,在输入文件名。 第三种:加到环境变量里面执行 转载于:https://www.cnblogs.com/q2546/p/10931956.html

觉得看到的很好的文章---以自勉

整体上来看,人脉当然很重要。不过,针对某个个体来说,更重要的是他所拥有的资源。有些资源很难瞬间获得,比如金钱、地位、名誉,尤其在这些资源的获得更多地依赖出身和运气的现实世界里。然而有些资源却可以很容易从零开…

一维数组和二维数组互转

$arr [1>玩玩,2>哦噢,3>嚷嚷,4>纯粹,5>不会,6>呃呃,7>卡卡,8>啊啊,9>一样,10>哈哈];$b Array();//一维数组转换成二维数组foreach ($arr as $key > $value) {$b[]Array(id>$key,name>$value);}$c array_column($b,name,id);//二维数…

前端基础笔记

1、加动画 在原来的元素上: transition: all .2s ease-in 在有hover的上: transform: translateY(-2px)

推荐几款提升效率的神器

1 数学公式神器:Mathpix Snip 作为理工科的学生或者经常用到数学的科研工作者,应该对数学公式都很头疼,不管是用LaTeX还是mathtype,都比较麻烦,要么需要频繁的鼠标点击,要么需要好的记忆力。而Mathpix Snip…

实验9 c++

problem &#xff1a;A 第一个类 #include <iostream> #include <iomanip> #include <cstring> #include <cmath> using namespace std;class Thing { private:string name; public:Thing(){}Thing(string n):name(n) {cout << "" <…

迭代器协议、斐波那契数列

f1.__iter__iter(f1)  把一个对象变成可迭代对象 __init__  构造函数 for循环遵循迭代器协议&#xff0c;要求对象有next、iter方法&#xff0c;有iter方法&#xff0c;for循环跟着对象对触发对象的方法&#xff08;协议规定&#xff09; 对象内部要有next方法 斐波那契数列…

[java基础问题] Exception 和 Error

Exception 和 Error Exception 和 Error 都是继承了 Throwable 类, 在 java 中, 只有继承了 Throwable 类才可以使用 throw 抛出, 或者 cath 捕获;Exception 意为 java 运行时可能发生的不合理的情况, 出现时并不会时程序异常退出。其中 Exception 又分为可检查异常, 非可检查异…

关于Kernel的思考

学习播客_KLDA&#xff08;推导得很通俗&#xff0c;下面的推导就是源于此篇博客&#xff09; 第一部分&#xff1a;按照自己的理解&#xff0c;模仿抄&#xff01;学习播客来完成一下KLDA的推导。 第二部分&#xff1a;对于Kernel的思考 KLDA&#xff1a;顾名思义&#xff0c;…

在elementUI中使用 el-autocomplete 实现远程搜索的下拉框

1. 在template加入如下标签 <el-form-item label"文章库" :label-width"formLabelWidth" ><el-autocompletev-model"addTopic.name":fetch-suggestions"querySearchAsync"placeholder"请输入文章标题"select"…

如何用一个例子彻底解释白盒测试中语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖?

白盒测试 白盒测试把测试对象看作一个打开的盒子&#xff0c;测试人员依据程序内部逻辑结构相关信息&#xff0c;设计或选择测试用例&#xff0c;对程序所有逻辑路径进行测试&#xff0c;通过在不同点检查程序的状态&#xff0c;确定实际的状态是否与预期的状态一致。 语句覆…

thinkPHP5.0数据查询表达式生成技巧

thinkPHP的查询表达式大揭秘 主要使用where(条件表达式)方法 语法一&#xff1a;where(字段,条件,值)&#xff1b; 等于&#xff1a;EQ 解析为"" 不等于&#xff1a;NEQ 解析为"<>" 小于&#xff1a;LT 解析为"<" 小于等于&#xff1a;…

简易的实现对象内存池

简易的实现对象内存池MemoryNode结构体是保存每一个申请的内存节点&#xff0c;然后构成一个单链表。MemoryNodeList 结构体是保存的是每一块内存&#xff0c;当上一个内存块用完时&#xff0c;再次创建一个内存块。numofMemoryNode&#xff1a;一个内存块的内存节点数量 numof…

连接符合赋值运算符

字符串运算符 以.的形式来连接如&#xff1a;$a.$b; $aacb; $a.efg $aabcefg .相当与$a$a.efg mt_rand()&#xff1b;随机函数 <?php // mt_rand(int $min,int $max) 产生随机数函数 $min ,$max $str"请输入验证码&#xff1a;"; $str.<span style"…

Linux关机操作

转载于:https://www.cnblogs.com/hlc-123/p/10958108.html

JAVA:贪吃蛇源代码

嘿嘿 新手来 表现了&#xff01;&#xff01;&#xff01; 2019年结束 游戏截图&#xff1a; 文件布局&#xff1a; 代码分享 用到的一些全局变量 //全局变量 public class Global {public static final int RECT_WIDTH20;//每个小方格的长宽public static final int WIDTH…

结构

结构 值类型中除了枚举类型都是结构类型的派生类型 由于结构是值类型&#xff0c;并且直接存储数据&#xff0c;因此&#xff0c;在一个对象的主要成员为数据且数据量不大的情况下&#xff0c;使用结构会带来更好的性能。 public struct Address {public string Name;public st…

10 字符串相关操作

# ### 字符串的相关操作 #(1)字符串的拼接 str1 "我爱你" str2 "美丽的祖国" res str1 str2 print(res) str1 str2 # str1 str1 str2 print(str1)# (2)字符串的重复 * str1 "重要的事情说三遍" res str1 * 3 print(res)# (3)字符串跨…

hbase-1.3.2安装

上传安装包hbase-1.3.2-bin.tar.gz解压安装包tar -zxvf /root/hbase-1.3.2-bin.tar.gz -C /usr/local/ 修改配置文件修改hbase-env.shvi hbase-env.sh 修改为以下内容&#xff1a; export JAVA_HOME/usr/local/jdk1.8.0_102 export HBASE_MANAGES_ZKfalse 表示不引用 hbase 自带…