python求道07日

一、文件操作

1.只读模式     ‘r‘

使用函数open打开文件,

1 f=open(‘你才是一个大傻子‘,mode=‘r‘,encoding=‘utf-8‘)
2 ll=f.read()
3 print(ll)
4 f.close()

具体使用方法为文件路径+打开形式+打开编码方式

文件路径分为绝对路径和相对路径,用绝对路径创建文件时会默认编码方式,得自己查询,如果打开时不用相对应的编码方式,将会出现报错,相对路径则不会有这种困扰

如上述例子中即是在python中创立了一个文件,是相对路径,其绝对路径是C:\Users\Administrator\PycharmProjects\untitled\day1\你才是一个大傻子(使用右键菜单中copy path一选项)

整体形式如上,使用后要关闭,不然会一直占用内存

2.只写模式

对于w,要是没有文件就会自行创建文件,要是有文件就会把文件的内容删掉以后重写

举上面这个例子

f=open(‘你才是一个大傻子‘,mode=‘w‘,encoding=‘utf-8‘)
f.write(‘警察来了,快跑‘)
print(f)
f.close()

现在txt里的内容就变成了(警察来了,快跑)需要注意的时,写操作并不能赋予一个新的变量,一旦赋予,print出来的东西将是txt中字符的数量

写操作一出,就这就引出了追加功能(‘a’),即在写好的文档后面添加字

3.可读可写‘r+‘

在可读可写模式中,计算机十分死板,只能操作两步,即先读,读完以后写,然后文件就处于不可使用状态,再后面使用读函数就不能读了

1 f=open(‘你才是一个大傻子‘,mode=‘r+‘,encoding=‘utf-8‘)
2 print(f.read())
3 f.write(‘警察来了,快跑‘)
4 f.close()

4.按照这个推理,则会有W+模式,a+模式,另外,设计到光标,则会有一个移动光标函数,为 f.seek()

在文件操作当中,read函数是按照字符去读文件的,所以不管是英文还是中文,都不会出什么差错,但是seek移动光标的时候是按照字节定义光标的位置的,每个中文是由三个字节表示,一旦光标订错,那就会读错.

既然涉及到移动光标,肯定有查找现在光标位置函数,为f.tell()

5.另外,read还有一个新的函数readline,这个函数也是读的意思,不过是一行一行的读,即使用一次函数读一行,再使用一次读下一行,readlines则是把每一行字符当成一个一个列表里的元素,然后组成一个新列表(可结合for循环将文章中内容打印出来),具体表示如下

f=open(‘你才是一个大傻子‘,mode=‘r‘,encoding=‘utf-8‘)
print(f.readline())
print(f.readline())
print(f.readline())
f.close()

6.忘写文件关闭语句,所以有一种新的打开方式,会自动关闭文件

1 with open(‘你才是一个大傻子‘,mode=‘r‘,encoding=‘utf-8‘)as f:
2     line=f.readlines()
3     print(line)
4     f.close()

注意第二行开始的缩进和第一行后面的冒号不能省略,后面的f是把这个文件命名为f的意思,相当于一个句柄

7.python之文件修改

python里面没有修改文件的函数,所以由一下思路来进行文件修改

1.打开要修改的文件和一个新文件

2.使用for循环查遍要修改文件里的字符,

3.使用replace函数将其替换成要修改的字符,

4.使用remove删除函数删除原文件,使用rename重命名函数将要新文件改名成老文件

具体操作如下

1 with open(‘人民的名义‘,mode=‘r‘,encoding=‘utf-8‘)as f,open(‘人民的名义.改‘,mode=‘w‘,encoding=‘utf-8‘)as f2:
2     for line in f:
3         if ‘庹联军‘ in line:
4             line=line.replace(‘庹联军‘,‘庹丹‘)
5             f2.write(line)
6
7 import os
8 os.remove(‘人民的名义‘)
9 os.rename(‘人民的名义.改‘,‘人民的名义‘)

  

原文地址:https://www.cnblogs.com/tlm666666/p/12242912.html

时间: 2024-11-14 06:33:51

python求道07日的相关文章

python求道01日

计算机基础 在这里,学习了CPU,内存,硬盘,应用程序以及操作系统的概念知识. CPU:计算机的“大脑”,负责数据的处理. 内存:计算机里暂时存储数据的一个容器,断电即存储数据消失. 硬盘:永久存储数据的容器,断电也不会消失数据. 应用程序:也就是我们常说的代码,让我们可以使用计算机完成相应的任务. 操作系统:相当于人体的神经,负责从协调CPU和内存硬盘之间数据的调度,相当于一个伪应用程序. python历史 主要为了解python2与python3的区别 Python2: 重复代码太多,结构混

python求道03日

1.关于int的使用方法int.bit_length Int.bit_length:将所给数据转化为二进制后的最小位数. 例:十进制          二进制     数据转换            显示 1             0000 0001    int.bit_length(1)        1 2             0000 0010    int.bit_length(2)        2 3             0000 0011    int.bit_leng

python求道06日

一. 补充了python2和python3的区别,具体补充的内容写到前面. 二. 赋值运算指向的是同一个内存空间, is函数是比较两个数的内存地址 id (内容)是测出内容的内存地址 三.小数据池(只有数字类型和字符类型有) 数字类型:值在-5到256之内都会被放到一个地址里供大家使用,这个供大家使用的地方叫做小数据池. 字符串型的小数据池有以下规则: 字符串里不能含有特殊字符 字符串的字母个数在20以下. 四.各种编码方式的位数 注: 1.各种编码方式之间的二进制是不能互相识别的,会产生乱码

股峰求道 - 炼股成金:从散户到操盘手的修炼法则(2015年5月11日)

<炼股成金:从散户到操盘手的修炼法则> 作 者:股峰求道译 者:系 列:出 版:广东人民出版社字 数:183千字阅读完成:2015年5月11日

第一金早评 - 2015年01月07日-晨早快訊

每日金市速遞 (2015年01月07日) 谢权东 先生 上日9999 金粒賣出價每両 HKD 12590 金粒賣出價資料參考周生生,周大福 即日投資策略: 黃金日線圖上分析,日線收3連陽,K線沿布林帶中軌和上軌之間運行,金價日內大漲,布林帶有向上開口跡象,布林中軌向上翹頭,短週期均線指標金叉向上,MACD快慢線死叉於0軸下方金叉,有上穿0軸趨勢,紅柱放量. 從4小時來看,布林帶向上開口,金價處於布林上軌1220與MA5-1215之間震盪往上,短週期均線指標金叉向上,MACD快慢線於0軸附近形成金

一入python深似海--python之道

python社区不乏幽默.先来看"python之道"这首诗. 导入this包: import this 输出是一首诗,这首诗总结了Python的风格,能够指导Python程序猿的编程. 以下是译文: The Zen of Python, by Tim Peters Python之道 Beautiful is better than ugly. 美观胜于丑陋. Explicit is better than implicit. 显示胜于隐式. Simple is better than

python求微分方程组的数值解曲线01

本人最近在写一篇关于神经网络同步的文章,其一部分模型为: x_i^{\Delta}(t)= -a_i*x_i(t)+ b_i* f(x_i(t))+ \sum\limits_{j \in\{i-1, i+1\}}c_{ij}f(x_j(t-\tau_{ij})), t\in\mathbb{R} (1.1) y_i^{\Delta}(t)= -a_i*y_i(t)+ b_i* f(y_i(t))+ \sum\limits_{j \in\{i-1, i+1\}}c_{ij}f(y_j(t-\tau_

Python补充06 Python之道

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录于PEP 20. 语句执行之后,终端将显示一首"The Zen of Python"的诗,即"Python之道".这首诗总结了Python的风格,可以指导Python程序员的编程.Python程序员会自豪宣称自己"Pythonic".Pythonic

python求crc32值的方法

python求crc32值的方法 在python代码中求CRC值,要import binasciibinascii.crc32(v) 求出了v的crc32值,这是一个long型,形如-1456387L,把这个值&0xffffffff得到的值形如48a213L的形式.然后,把这个值用16进制表示出来.www.jbxue.com例子: def _crc32(self, v): """ Generates the crc32 hash of the v. @return: