python文件,字符串,二进制的读写
读文件:
f = open('/Users/michael/test.txt', 'r')
#一次读取文件的全部内容
f.read()
#文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的
close()
#考虑异常,无论是否出错都能正确地关闭文件
try:
f = open('/path/to/file', 'r')
print(f.read())
finally:
if f:
f.close()
#等价于 with语句来自动帮我们调用close()方法
with open('/path/to/file', 'r') as f:
print(f.read()) #二进制文件
f = open('/Users/michael/test.jpg', 'rb') #字符编码
#要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:
f = open('/Users/michael/gbk.txt', 'r', encoding='gbk') #遇到有些编码不规范的文件,你可能会遇到UnicodeDecodeError,直接忽略
f = open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore'
写文件:
#传入标识符'w'或者'wb'表示写文本文件或写二进制文件
f = open('/Users/michael/test.txt', 'w')
f.write('Hello, world!')
f.close() #要写入特定编码的文本文件,请给open()函数传入encoding参数
with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')
最好使用with
语句
StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口
StringIO和BytesIO
str的读取:
#写入字符串
from io import StringIO
f = StringIO()
f.write(''Hello!\nHi!\nGoodbye!'') #getvalue()方法用于获得写入后的str
print(f.getvalue())
#或者行读
while True:
s = f.readline()
if s == '':
break
print(s.strip())
#结果
Hello!
Hi!
Goodbye!
二进制的读取:
from io import BytesIO
#写
f = BytesIO()
#经过UTF-8编码的bytes
f.write('中文'.encode('utf-8'))
print(f.getvalue())
#结果
b'\xe4\xb8\xad\xe6\x96\x87 #读
f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
f.read()
#结果
b'\xe4\xb8\xad\xe6\x96\x87'
python文件,字符串,二进制的读写的更多相关文章
- Python文件的几种读写方式
1). "w "写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写 "w+ "是读写内容,只要沾上w,肯定会清空原来的文件2 ...
- Python文件的四种读写方式——r a w r+
# 文件的基本操作,但是一般不这么使用,因为经常会忘记关闭 password=open("abc.txt",mode="r",encoding="UT ...
- Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块
Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块 目录 Pycharm使用技巧( ...
- Python文件读写、StringIO和BytesIO
1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就 ...
- python文件操作之二进制
列表项 三元运算符号: a=3 b=7 val=a if a>b else val=b print(val) 文件处理 首先给你一个文件,或者自己建立一个文件,那如何查看文件的内容呢? 1.安装 ...
- 【8】python文件的读写方法
(1).读文件的步骤: (1)打开文件 open(path,flag,encoding,[errors]) path:打开路径 flag:打开方式 r(只读) rb(二进制格式) r+(可以读写) w ...
- Python 文件读写操作实例详解
Python提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用file对象做大部分的文件操作 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前 ...
- python文件的读写总结
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.核心功能 ‘r’ ...
- python文件读写小结
读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...
随机推荐
- Linux 两组信号对比
博客逐步迁移到,独立博客,原文地址 http://www.woniubi.cn/two_groups_signal_difference/ 之前看信号的时候,没有太注意不同信号的对比.今天再次看到的时 ...
- python if else while for
1 getpass模块 设置密码不显示明文 用户名和密码输入程序: import getpass username = input("username:") password = ...
- jQuery-prepend、append、before、after的区别
举例说明,原始html代码如下: <ol> <li>List item 1</li> <li>List item 2</li> <li ...
- 2017.10.28 QB模拟赛 —— 上午
题目链接 T1 1e18 内的立方数有 1e6个 直接枚举可过 二分最优 考场用set 死慢.. #include <cstdio> int t; long long p; int ma ...
- 如何在 ubuntu linux 一行中执行多条指令
cd /my_folder rm *.jar svn co path to repo mvn compile package install 使用&& 运算符连接指令 cd /my_f ...
- OpenGL学习 Our First OpenGL Program
This shows you how to create the main window with the book’s application framework and how to render ...
- Gym 100090D Insomnia
从 n 变到 1,有多少种方案? 打表记忆化. #include <bits/stdc++.h> using namespace std; int n; ]; int dfs(int n) ...
- Netbackup-Oracle数据库恢复演练(上)
目录 第一章NBU实施内容 1 第二章 环境准备 1 2.1添加LICENSE: 1 2.2安装配置NBU客户端(linux,unix相同) 2 2.3配置并验证oracle备份脚本 3 2.4添加备 ...
- softmax sigmoid
softmax和sigmoid实际上都是属于logistic regression,sigmoid是二分类的lr,拟合Bernoulli distribution(二项分布):0softmax是多分类 ...
- 单源最短路模板(dijkstra)
单源最短路(dijkstra算法及堆优化) 弱化版题目链接 n^2 dijkstra模板 #include<iostream> #include<cstdio> #includ ...