1. 程式人生 > >Python 2.7 輸入輸出

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)