码迷,mamicode.com
首页 > 编程语言 > 详细

python求道07日

时间:2020-02-20 15:36:08      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:with open   mod   模式   方法   ini   lin   文件路径   重写   lib   

一、文件操作

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(人民的名义.改,人民的名义)

 

 

 

 

 

 

 

 

 

 

  

python求道07日

标签:with open   mod   模式   方法   ini   lin   文件路径   重写   lib   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!