python-文件

文件读和写
File(文件)方法
:file 对象使用 open 函数来创建。

open() 将会返回一个 file 对象,基本语法格式如下:
open(filename, mode)
filename:filename 变量是一个包含了你要访问的文件名称的字符串值。
mode:mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

不同模式(常用)打开文件的列表
(后面有了b表示以二进制格式打开一个文件,有了+表示读和写都可以。)
r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+:打开一个文件用于读写。文件指针将会放在文件的开头。
w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

file对象常用的函数:
1:file.close()
关闭文件。关闭后文件不能再进行读写操作。
2:file.flush()
刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
3:file.read([size])
size -- 从文件中读取的字节数。
从文件读取指定的字节数,如果未给定或为负则读取所有。
例:
aa=open('D:/111.txt','r')
print(aa.read())
aa.close()
4:file.readline([size])
读取整行,包括 "\n" 字符。
5:file.readlines([sizeint])
读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。
6:file.write(str)
str -- 要写入文件的字符串。
将字符串写入文件,没有返回值。
例:
aa=open('D:/111.txt','r+')
str='kkkkkkkkkkkkk'
aa.seek(0,2)
line=aa.write(str)
print(line)
aa.close()
7:file.seek(offset,from_what)
设置文件当前位置
from_what 的值, 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾,例如:
seek(x,0) :从起始位置即文件首行首字符开始移动 x 个字符
seek(x,1) :表示从当前位置往后移动x个字符
seek(-x,2):表示从文件的结尾往前移动x个字符
from_what 值为默认为0,即文件开头。
8:file.next()
返回文件下一行。
9:file.tell()
返回文件当前位置。

文件复制
aa=open('D:/111.txt','r+')
bb=open('D:/222.txt','w')
mystr=aa.read(1024)
while len(mystr)>0:
    bb.write(mystr)
    mystr=aa.read(1024)
bb.flush()
bb.close()
aa.close()

OS 文件/目录方法:
1:os.open(file, flags[, mode])
打开一个文件,并且设置需要的打开选项,mode参数是可选的。file--要打开的文件。
2:os.read(fd, n)
从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。
fd -- 文件描述符。n -- 读取的字节。
3:创建文件夹:os.mkdir("")
4:删除文件夹;os.rmdir("")
5:得到当前路径;os.getcwd()
6:获取当前路径下的所有文件,返回一个文件集:os.listdir("./")
7:批量重命名:os.chdir(文件夹)
例:
import os
aa='D:/1'
os.mkdir(aa)
#os.rmdir(aa)

获取文件名的后缀
def getfile_fix(filename):
    return filename[filename.rfind('.') + 1:]#.后面的
print(getfile_fix('runoob.txt'))

获取文件里的内容
myread=open('D:/222.txt','r')
for line in myread:
    print(line,end='')
myread.close()

写文件
with open('D:/1.txt', 'w', encoding='utf-8') as f:
    f.write('testaaaaaaa')
读文件
with open('D:/1.txt', 'r', encoding='utf-8') as f:
    f.readlines()
执行完自动close,避免忘记关闭文件导致资源的占用。

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值