Python 2.7 输入输出

输入输出


1 格式化输出

通过将值传入repr()或str()函数中,可以将任意值转化为字符串。
str()将值转化为人可读状态,repr()将值转为解释器可读状态。
如果对象本身不适合人阅读,str()与repr()返回值相同。

字符串与浮点数的repr()与str()有区别。
repr()会将字符串中的反斜杠输出,并且输出引号。

# 字符串右对齐
"ss".rjust(4)
# 字符串居中
"ss".center(10)
# 字符串左对齐
"ss".ljust(8)

# 表示数字的字符串右对齐
"12".zfill(12)

# 格式化输出字符串
"{1} and {0} ".format(12, 34) # 输出"34 and 12"
"{n} and {f}".format(f = 12, n = 66) # 输出"66 and 12"

# 输出三位小数浮点数
print '{0:.3f}'.format(math.pi)

# 格式化占位输出
print '{0:10} {1:10d}'.format("sss", 12)

# 格式化输出字典
t = {'a': 12, 'b': 34}
print('{0[a]:10d} {0[b]:10d}'.format(t) )

# sprintf()风格字符串
print "%5.3f." % math.pi

2 文件读写

open方法mode参数可以被省略,省略时,默认只读。

  • r,只读
  • w,只写(覆盖)
  • a,文件尾写
  • r+,读写

读文件时,如果读到文件末尾,将会返回空字符串。

# 打开文件
w = open('D:/DevelopmentSpace/python2/fibo.py', 'r')

# 从文件中读取11个字节的数据
w.read(11)

# 读取完整文件
w.read()

# 读取文件中一行数据
w.readline()

# 循环读取文件数据
for line in w:
    print line

# 列表形式读取文件数据(一个元素表示一行)
l = list(w)
l = w.readlines()

# 向文件中写入字符串
w.write("asdfasd jjkhk\n")

# 返回当前文件对象位于文件中的位置,单位为字节

# 关闭文件
w.close()

# 跳转到文件开头位置之后2个字节
f.seek(2, 0)

# 跳转到文件当前位置之后2个字节
f.seek(2, 1)

# 跳转到文件末尾位置之前2个字节
f.seek(-2, 2)

# 设置文件自动关闭(即使抛出异常也会关闭)
with open('test', 'r+') as f:
    l = f.read()

json模块将Python数据转化为字符串的过程称之为序列化。将数据从字符串形式中重建的过程称之为反序列化。

# 导入json模块
import json

# 序列化
json.dumps([1, 'sss'])

# 将对象序列化进文件w
json.dump(['sss', 12], w)

# 将文件中的json对象反序列化
x = json.load(w)

详细教程:Python 2.7 tutorial

你可能感兴趣的:(python)