Python:with open() as f:

1 with open() as f

1.1 常见的读写操作

with open(r'filename.txt') as f:
   data_user=pd.read_csv(f)  #文件的读操作

with open('data.txt', 'w') as f:
   f.write('hello world')  #文件的写操作
   

1.2 相关参数

r:	以只读方式打开文件。文件的指针将会放在文件的开头。这是**默认模式**。

rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+: 打开一个文件用于读写。文件指针将会放在文件的开头。

rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w:	打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb:	以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

w+:	打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a:	打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab:	以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+:	打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

1.3 file对象的属性

file.read([size])   将文件数据作为字符串返回,可选参数size控制读取的字节数

file.readlines([size])   返回文件中行内容的列表,size参数可选

file.write(str)   将字符串写入文件

file.writelines(strings)   将字符串序列写入文件

file.close()   关闭文件

file.closed	表示文件已经被关闭,否则为False

file.mode	Access文件打开时使用的访问模式

file.encoding	文件所使用的编码

file.name	文件名

file.newlines	未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表

file.softspace	为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

2 栗子

import os


db_root_dir = '../../DAVIS-2016'
fname = 'train_seqs'
path = os.path.join(db_root_dir, fname + '.txt')
print(path)

with open(path) as f:
    seq = f.readlines()
    print(seq)
    print(len(seq))


# results

../../DAVIS-2016/train_seqs.txt

['bear\n', 'bmx-bumps\n', 'boat\n', 'breakdance-flare\n', 'bus\n', 'car-turn\n', 'dance-jump\n', 'dog-agility\n', 'drift-turn\n', 'elephant\n', 'flamingo\n', 'hike\n', 'hockey\n', 'horsejump-low\n', 'kite-walk\n', 'lucia\n', 'mallard-fly\n', 'mallard-water\n', 'motocross-bumps\n', 'motorbike\n', 'paragliding\n', 'rhino\n', 'rollerblade\n', 'scooter-gray\n', 'soccerball\n', 'stroller\n', 'surf\n', 'swing\n', 'tennis\n', 'train\n']

30

参考:

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值