输出格式美化
python的输出格式有两种,一种是表达式语句一种是print()函数
第三种方式是使用文件对象的wirte()方法,标准输出文件可以用sys.stdout引用
如果想要控制输出的格式,可以使用str.format()函数进行格式控制
如果想把输出的格式转为字符串可以直接使用str()函数来实现
输出数的平方和立方表
方式1:
for x in range(1, 11):
print(repr(x).rjust(2),repr(x*x).rjust(3),end=' ')
print(repr(x*x*x).rjust(4))
输出结果如下:
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
方式2:
for x in range(1,11):
print('{0:2d} {1:3d} {2:4d}'.format(x,x*x,x*x*x))
rjust的控制是使字符串靠右对齐,同样的还有ljust、center等函数,也有左边补0的函数zfill()函数
'12'.zfill(5)
输出:
00012
str.format()的基本用法
print('{} is a big {}'.format('WEW','man'))
输出:WEW is a big man
可以看出上面{}控制输出格式,而format后面用来指定对应参数
print('{0} {1}'.format('WEW','wew'))
输出:WEW wew
print('{1} {0}'.format('WEW','wew'))
输出:wew WEW
从上式可以看出,{}中的数字用来指定参数的顺序
旧式字符串控制
import math
print{'PI近视值是%.2f'%math.pi}
输出:3.14
读取键盘输入 input函数
input 函数用来接收从键盘读入的数据
a=input() wew\n
print(a,type(a))
b=input() 3\n
print(b,type(b))
输出:
wew str
3 str
文件读写
open()函数
open(filename,mode)
该函数返回一个file对象,其中filename包含了文件的地址,mode指明打开文件的格式:只读r,写入w,追加a+等
模式 | 描述 |
---|---|
r | 以只读方式打开文件,默认文件指针在文件开头 |
rb | 以二进制只读方式打开文件,默认文件指针在文件开头 |
r+ | 以读写方式打开文件,文件指针将放在文件开头 |
rb+ | 以二进制读写方式打开文件,文件指针默认放在文件开头 |
w | 打开一个文件,若文件存在,则从文件开头重新写入,文件原有的内容将会被删除,若文件不存在则建立该文件 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件 |
a | 打开一个文件,若该文件存在,则文件指针放到文件的末尾,新的内容会被追加到原有文件内容的后面,若不存在该文件则创建新文件 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
f.write()函数
该函数用于写入文件内容
f=open('./foo.txt','w')
f.write('Python3 是一个很好用的语言。\n推荐使用。')
f.close()
输出:
foo.txt:
Python3 是一个很好用的语言。
推荐使用。
f.read()函数
该函数用于读入文件内容
f = open("/tmp/foo.txt", "r")
str = f.read()
print(str)
输出:
Python3 是一个很好用的语言。
推荐使用。
f.readline()函数
该函数用于读入文件内容的一行
f.readlines()函数
该函数用于读入文件的所有行并以列表的形式返回
f.seek()函数
设置文件指针的位置
pickle 模块
python中pickle实现关于数据的序列化和反序列化,通过pickle我们可以将运行中的对象进行序列化到文件中保存起来,永久存储。通过pickle模块我们也可以 将上次运行的对象反序列创建出来。 通过以下两个模块可以进行试验:
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)
print(selfref_list)
output = open('data.pkl', 'wb')
pickle.dump(data1, output)
pickle.dump(selfref_list, output, -1)
output.close()
输出:
data.pkl文件一个
import pprint,pickle
pkl_file=open('data.pkl','rb')
data1 = pickle.load(pkl_file)
pprint.pprint(data1)
data2 = pickle.load(pkl_file)
pprint.pprint(data2)
pkl_file.close()
输出:
{'a': [1, 2.0, 3, (4+6j)], 'b': ('string', 'Unicode string'), 'c': None}
[1, 2, 3, <Recursion on list with id=140367765472392>]