1-14文件操作

 

读写文件等操作

1.在当前路径下创建文件夹mkdir或者makedirs

2.打开当前路径下的文件夹,并创建文件open

3.以写入模式打开新文件读写模式:

r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件

常用读写模式

如:'rb','wb','r+b'等等

读写模式的类型有:

rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)

w 以写方式打开,

a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)

r+ 以读写模式打开

w+ 以读写模式打开

a+ 以读写模式打开

rb 以二进制读模式打开

wb 以二进制写模式打开

ab 以二进制追加模式打开

rb+ 以二进制读写模式打开

wb+ 以二进制读写模式打开

ab+ 以二进制读写模式打开

W 若文件存在,首先要清空,然后重新创建文件

a 把所有的数据追加到文件的尾部,即使seek指在其他的位置,如果文件不存在,则重新创建

4.注意:数据写完后,要close()

In [1]:
import os
os.mkdir("./data")#如果有同名的文件夹则会报错,必须在创建新的文件夹
OP=open('./data/tang.txt','w')
OP.write("hello python
 tang yu di
 jin tian qi bu cuo
")
OP.close()
In [2]:
%%writefile tang.txt
hello python
tang yu di
jin tian qi bu cuo
 
Overwriting tang.txt
In [3]:
txt=open('./tang.txt')
In [4]:
txt_read=txt.read()
print(txt_read)
 
hello python
tang yu di
jin tian qi bu cuo
In [5]:
txt=open('./tang.txt')#打开一次只能读一次
lines=txt.readlines()#lines把每句话变成一个元素再组成一句话,
表示回车
 print(type(lines)) print(lines)
 
<class 'list'>
['hello python
', 'tang yu di
', 'jin tian qi bu cuo']
In [6]:
 for line in lines:
    print('cur_line:',line)
 
cur_line: hello python

cur_line: tang yu di

cur_line: jin tian qi bu cuo
In [7]:
txt.close()
In [8]:
txt=open('tang_write.txt','w')#w模式再次执行会覆盖之前数据
 txt.write('jin tian qi bu cuo
') txt.write('ma ru jiao
') txt.close()
In [9]:
txt=open('tang_write.txt','a')#a是追加模式不覆盖
txt.write('123
') txt.write('456
') txt.close()
In [10]:
txt1=open('tang_write.txt','w')
for i in range(5):
    txt1.write(str(i)+'
')
txt1.close()    #写入数据写完后一定要close不然会写入失败
txt2=open('tang_write.txt','r')
print(txt2.read())
 
0
1
2
3
4

1. open-> try: ->except->finally 一定要close一下       2.with open   文件    as  别名:此方法自动关闭文件最好采用此方法
In [11]:
txt=open('tang_write.txt','w')
try:
    for i in range(100):
        10/(i-50)
        txt.write(str(i)+'
')    
except Exception:
    print('error:',i)
finally:
    txt.close()
 
error: 50
In [12]:
with open('tang_write.txt','w')as f:
    f.write('jin tian qi bu cuo ')#用 with open()as 变量名 就可以不用close,它会自动close
原文地址:https://www.cnblogs.com/AI-robort/p/11627057.html