“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
6、输入和输出、序列化和反序列化、文件读写操作.py
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Python3 输入和输出
'''
输出控制台信息
格式化信息:repr str
'''
s = '啦啦啦啦啦'
print(s)
# repr(): 产生一个解释器易读的表达形式。
print(repr('我是repr输出的' + s))
# str(): 函数返回一个用户易读的表达形式。
print(str('我是str输出的' + s))
# 参数替换,类似Java中的log.info("name:{}","shp")
print('name:{}'.format('shp'))
list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for l in list:
print('{0:10} ===> {1:10d}'.format(l, l))
import math
# 格式化小数
print('常量 PI 的值近似为:', math.pi)
# 输出小数点后三位
print('常量 PI 的值近似为 {0:.3f}。'.format(math.pi))
print('常量 PI 的值近似为:%5.3f。' % math.pi)
读取键盘输入
# str = input("请输入:");
# print("你输入的内容是: ", str)
读和写文件
# open(输入文件, 对文件的操作) r(read读), w(write写),a(add追加)
# open('README.md')不传递参数,默认为读
# 输出文本到本地
f = open('hello.txt', 'w') # 打开文件
f.write("是的\n我也更加相信自己了。") # 输出的内容
f.close() # 关闭流
# 打开一个文件
f = open("hello.txt", "r")
str = f.read()
f.close() # 关闭流
print(str)
# 读取一行 如果读取过或者到结尾就会返回空字符串
f = open("hello.txt", "r")
str = f.readline()
print(str)
f.close() # 关闭流
# 读取多行 会返回一个列表
f = open("hello.txt", "r")
str = f.readlines()
print(str)
'''
pickle 模块
序列化和反序列化
'''
import pickle
list = [1, 2, 3, 4, 5]
# 输出文件
output = open('data.pkl', 'wb')
序列化并输出
pickle.dump(list, output)
output.close()
import pprint
# 读取文件
output = open('data.pkl', 'rb')
# 反序列化
data1 = pickle.load(output)
pprint.pprint(data1)
output.close()
‘’’
文件操作
对文件读或者是写,取决于open中的第二个参数
open(输入文件, 对文件的操作) r(read读), w(write写),a(add追加),b(二进制), +(打开一个文件可读可写)
‘’’
f = open("hello.txt", "w")
f.write('我是write输出的') # 输出
f.writelines('输出行\n我是writelines输出的')
f.flush() # 刷新缓冲
f.close() # 关闭流
import os, sys
# 第一个参数为路径,第二个参数为权限
#创建单个目录
os.mkdir('/tmp/')
# 创建多层目录目录
os.makedirs('/tmp/text/', 0o777)