目录
一、输入
[var=] input ([提示字符串])(都作为字符串处理)
二、输出
1.print([表达式1, … ,表达式n][,sep=分隔符][,end=结束符])
2.format(表达式[,格式字符串])
3. 格式字符串.format(表达式1,…,表达式n)
三、文件读写
1.写文件
2.读文件
文件打开方式
文件读写方法
定位位置指针
var:用于接收从键盘输入的数据;如果省略,则会暂停程序运行。如果需要程序暂停t秒,则可以使用time模块的sleep(t)实现(即: time.sleep(t))。
提示字符串:用于显示的提示信息。如果省略,则无提示信息。 • 注意:input()把输入的数据,均作为字符串处理。如果需要按照不同的数据类型使用数据,则可使用类型转换函数
s=(int)input("12") #s=12
s=complex(input("")) #复数,5+6j
s=eval(input("姓名,年龄:"))
//输入:'张三', 20。s=('张三', 20)
//自动识别,字符串加引号
//s, t=eval(input("姓名,年龄:"))
【默认sep=‘ ’,end=’\n’。】
符号 | 输出类型 | 说明 |
---|---|---|
%[[+|-]n]c | 输出ASC||字符 | chr() +右对齐 -左对齐 |
%s | 输出字符串 | str() n为总长度 |
%r | 输出表达式 | repr() |
%d %i %u | 输出整数 | d为有符号,u为无符号 |
%o %x | 输出八、十六进制 | |
%e %E | 输出实数 | 科学计数法 |
%f %F | 输出浮点数 | 定点小数 |
%g %G | 输出实数 | 自动选择指数或浮点数显示 |
%Y %m %d %H %M %S | 输出年月日时分秒 | 导入time模块 |
>>> print('%c%9o%-9o%c'%(65,12,-12,66))
A 14-14 B
>>> print('%c%9x%-9X%c'%(65,123,-123,66))
A 7b-7B
>>> print('%c%22e%-22.2E%c'%(65,12,-123.56789,66))
A 1.200000e+01-1.24E+02 B
>>> import time
>>> print( time.strftime( '%Y-%m-%d %H:%M:%S', time.localtime( time.time())))
2018-02-10 11:06:49
符号 | 说明 |
[n]c | ASC||字符 |
% | 百分号 |
d | b | o | x | X | 十、二、八、十六进制整数 |
f | F | 实数(浮点小数) |
e | E | 实数(定点小数,科学计数) |
填充字符 = | 填充字符位于数字和符号之间 |
< | > | ^ | 左对齐 | 右对齐 | 居中 |
省略格式字符串 | 等价于str(表达式) |
>>> print('%',format(65,'c'),'%',sep='')
%A%
>>> print('%',format(65,'<6c'),format(65,'06c'),'%',sep='')
%A 00000A%
>>> print('%',format(65,'#=6d'),'%',sep='')
%####65%
>>> print('%',format(11,'<6d'),format(22,'06o'),format(12,'6X'),'%',sep='')
%11 000026 C%
>>> print('%',format(11.111,'11.2f'),format(-11.111,'0=-11'),'%',sep='')
% 11.11-000011.111%
>>> print('%',format(132.568,'11.2g'),'%',format(11.111,'016g'),'%',sep='')
% 1.3e+02%000000000011.111%
格式字符串:包括普通字符和格式字符。
普通字符:按照原样输出。
格式字符的格式:
>>> print('Hi,{},{},{}'.format('A',12,1.2))
Hi,A,12,1.2
>>> print('Hi,{0:c},{1:d},{2:f}'.format(65,12,1.2))
Hi,A,12,1.200000
>>> print('Hi,{0:<6c},{1:^6d},{2:6.2f}'.format(65,12,1.256))
Hi,A , 12 , 1.26
>>> print('Hi,{0}{1}{2}'.format('Happy','You','!'))
Hi,HappyYou!
文件对象=open(文件[,打开方式])
文件打开方式主要包括:读、写和追加等。
w | wb、r | rb、a | ab、w+ | wb+、r+ | rb+、a+ | ab+
文件对象.close()
首先以只读方式打开文件,然后读取数据,最后关闭文件。
变量=文件对象.read([n]) #读取n个字符(默认:全部),返回字符串类型。
变量=文件对象.readline([n]) #读取一行字符,返回字符串类型。
变量=文件对象.readlines([n]) #读取当前位置至文件结束,自动将内容拆分成列表。
打开文件 | 说明 | 注意 |
w | wb | 以只写方式打开一个文本(二进制)文件 | 如果文件已存在,则清空; 如果文件不存在,则创建。 |
r | rb | 以只读方式打开一个文本(二进制)文件(默认方式) | 如果文件不存在,则报错。 |
a | ab | 以追加方式打开一个文本(二进制)文件 | 如果文件已存在,则追加; 如果文件不存在,则创建。 |
w+ | wb+ | 以读写方式打开一个文本(二进制)文件 | 如果文件已存在,则清空; 如果文件不存在,则创建。 |
r+ | rb+ | 以读写方式打开文件 | 如果文件不存在,则报错。 |
a+ | ab+ | 以读写方式打开文件,追加到文件尾 | 如果文件已存在,则清空; 如果文件不存在,则创建。 |
写文件 | 说明 | 读文件 | 说明 |
print() | 写入字符串,默认换行 | fi.read() | 读取n个字符,默认全部 |
fi.write() | 写入字符串,默认不换行 | fi.readline() | 读取一行字符 |
fi.writelines() | 写入多行字符串 | fi.readlines() | 读取当前位置到结尾 |
二进制文件先编码(解码),再读(写) | |||
encode() | 编码,文本转换为字节型字符串 | tell() | 返回指针的当前位置 |
decode() | 解码,字节型字符串转换为文本 | seek() | 从参考位置向前+和向后-移动指针 |
#写入
>>> fi=open('info.txt', 'w')
>>> print('HappyYou!', file=fi)
>>> print('文件名称:', fi.name, file=fi)
>>> print('是否关闭:', fi.closed, file=fi)
>>> print('打开方式:', fi.mode, file=fi)
>>> fi.close ()
>>> fi=open('info.txt', 'r')
>>> t=fi.read()
>>> t
'HappyYou!\n文件名称: info.txt\n是否关闭: False\n打开方式: w\n'
>>> print(t, type(t))
HappyYou!
文件名称: info.txt
是否关闭: False
打开方式: w
>>> fi.close()
>>> x=str(123456)
>>> y=x.encode()
>>> print(y,type(y))
b'123456'
>>> z=y.decode()
>>> print(z,type(z))
123456
#创建文本文件info1.txt
>>> fi=open('info1.txt', 'w')
>>> x=11;y=1.1;z=2+3j;s='abc123';t=True
>>> print(x,y,z,s,t, file=fi)
>>> fi.write('世界和平!\n')
>>> fi.writelines(['Hi, Python!\n','Welcome...\n','Happy You!'])
>>> fi.close()
#读取文本文件info1.txt
>>> fi=open('info1.txt','r')
>>> x=fi.readline()
>>> y=fi.read(2)
>>> z=fi.readlines()
>>> print(x,y,z)
11 1.1 (2+3j) abc123 True
世界 ['和平!\n', 'Hi, Python!\n', 'Welcome...\n', 'Happy You!']
>>> fi.close()
文件对象.tell()
tell():返回位置指针的当前位置。
文件对象.seek([+|-]步长[,参考位置])
seek():从参考位置(默认:0-起始位置;1-当前位置;2-文件末尾), 按照步长向前(+)或者向后(-)移动定位,并返回新的文件位置。 (偏移字节数)
>>> fi=open('info2.txt','rb')
>>> fi.tell()
0
>>> fi.seek(6,0)
6
>>> fi.seek(-3,1)
3
>>> fi.close()