Python3 输入和输出
2019-01-11 本文已影响0人
坚持到底v2
1. 输出格式美化
- str(): 函数返回一个用户易读的表达形式。
- repr(): 产生一个解释器易读的表达形式。
2. 读写文件
open函数
open(filename,mode,buffering,encoding,errors,newline,closefd,opener)
其中 mode 有 r,rb,r+(读写),rb+,w,wb,w+,wb+,a,ab,a+,ab+
还要注意 encoding='utf-8'
实例
# 写入文件
f = open("/tmp/foo.txt", "w")
# f = open('/Users/michael/gbk.txt', 'r', encoding='utf-8', errors='ignore')
with f:
f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" )
# 立刻写入文件
f.flush()
// 使用 with 会自动调用 f.close()
# 读取文件
f = open("/tmp/foo.txt", "r", encoding='utf-8' )
with f:
str=f.read()
# f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。
str=f.readline();
# 返回该文件中包含的所有行
str=f.readlines();
# 迭代的方式
for line in f:
print(line,end='');
# 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。
f.tell()
# 改变文件当前的位置,from_what的值默认是0.
# 0表示开头 1表示当前位置 2表示结尾
# 在文本文件中 (那些打开文件的模式下没有 b 的), 只会相对于文件起始位置进行定位
f.seek(offset, from_what)
2.2 序列化和反序列化 pickle模块
pickle.dump(obj, file, [,protocol])
x = pickle.load(file)
2.3 写入示例
import pickle
data1 = {'a': [1, 2.0, 3, 4+6j],
'b': ('string', u'Unicode string'),
'c': None}
selfref_list = [1, 2, 3]
selfref_list.append(selfref_list)
output = open('data.pkl', 'wb')
pickle.dump(data1, output) # 使用 protocol 0 dump 字典
pickle.dump(selfref_list, output, -1) # 使用最高的protocol dump 列表
output.close()
2.4 读取示例
import pprint, pickle
pkl_file = open('data.pkl', 'rb')
data1 = pickle.load(pkl_file)
pprint.pprint(data1)
pkl_file.close()