Python:文件操作基础

文件操作

1,使用文件的目的:
就是把一些数据存储存放起来,比如程序日志文件或者数据

2,在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件
open(文件名,访问模式)
访问模式 说明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存 在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,
新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。
文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

(1)写

 f=open("E:\\a.txt",'w')   # w 代表只写的方式,打开一个文件,叫a.txt。路径如下
 f.write('北京欢迎您')
 f.close()

#绝对路径 明确位置
#相对路径 相对位置 #运用相对路径打开file\open\

read 调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,会导致程序卡死,
所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字符的内容
readline每次读取一行,并且自带换行功能 每一行末尾会读到\n
Readlines,一次性以行的形式读取文件的所有内容并返回一个list,里面包含有\n,需要去遍历读出来
例:
如果a.txt文件内容为:
1,3,5,6,7
20,21,22
​​​​​​​
(2)读:

f=open('a.txt','r')
content=f.read()   
print(content)          #1,3,5,6,7   #str
                                #20,21,22
print(type(content))
f.close()

content=f.read(6)#按多少字读 1,3,5, #str类型
content=f.readline() #读一行 数字按多少字节读 字符串:1,3,5,6,7 #str类型
content=f.readlines() #读全行 [‘1,3,5,6,7\n’, ‘20,21,22’] 列表,单行为字符串 #带有两个str的list类型

f=open('a.txt','w' )    
f.write('北京')
f.write('\n')
f.write('南京')
f.close()

文件中写入:
北京
南京

(3)获取指针位置 f.tell()

f=open('a.txt','r')
print(f.tell())
x=f.read(4)
print(x)
print(f.tell())
f.close()   # 字节 不要忽略\n

重设指针文字

f=open('a.txt','r')
x=f.read(4)
print(x)
f.seek(2,0)     #第一个参数代表的是偏移的字节数,第二个参数从哪个地方偏移  0代表文件头,1代表当前
x=f.read(4)
print(x)
f.close()

(3)重命名

import os #操作系统
os.rename('a.txt,'b.txt')

(4)移除

import os
os.remove('c.txt')

(5)目录操作

import os
os.mkdir('abc',0x777) #第一个7 代表自己可读写,
                       # 第二个7代表同组的可读写,第三个7代表全部人可读写

(6)获取当前文件所在目录

import os
p=os.getcwd()
print(p)   

(7)删除文件夹

import os
os.rmdir('abc')

(8)判断是否存在?

import os
b=os.path.exists('a.txt')
print(b)
b=os.path.exists('a')
print(b) 

输出:
True
False

(9)创建多级目录

import os
os.makedirs('a//b//c')

(10)文件打开方式2

with open("a.txt","w") as f:  #自动关文件
    x=f.write('12342')
    print(x)    #输出为指针的位置5,

猜你喜欢

转载自blog.csdn.net/aixiangnan/article/details/88937912
今日推荐