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')  #文件的写操作

相关参数:

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

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表示不加。这个属性一般程序员用不着,由程序内部使用
 

例子:

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

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值