2016年5月31日 星期二

Python_Note10

print()

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False

內建函數 (function) print() ,印出參數 (parameter) object 的內容, 還可以使用 sep指定每個輸出值之間的分隔字元,預設值為一 個空白 ,可以使用 end指定輸出後最後一 個字元,預設值是'\n'(換行), file 為輸出串流裝置,預設為 sys.stdout ,即是標準輸出裝置,通常會是螢幕,可以使用 file指定至 其它的輸出。例如以下會將指定的值輸出至 data.txt:

範例:
#-*-coding:UTF-8 -*-
#  print 寫檔範例

text = '''食譜:芒果冰沙
1.將愛文芒果去皮,切小塊備料
2.將冰塊放進果汁機,再放入其他所有食材(可留部分芒果塊,放置冰沙上方)
3.開啟果汁機,以漸進式方式快速打勻,直到冰塊完全打成冰沙即可
4.芒果冰沙裝杯後,放入芒果塊於冰沙上方,可增加芒果冰沙的口感喔!'''

print(text ,file=open('data.txt','w',encoding='utf-8'))


其中
  • data.txt : 檔名
  • 'w' : write,複寫。'a' : append,加寫在後面
  • encoding = 'utf-8' : 編碼

open()

將資料寫入檔案或從檔案讀出,可以使用open()函式
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
CharacterMeaning
'r'open for reading (default)
'w'open for writing, truncating the file first
'x'open for exclusive creation, failing if the file already exists
'a'open for writing, appending to the end of the file if it exists
'b'binary mode
't'text mode (default)
'+'open a disk file for updating (reading and writing)
'U'universal newlines mode (deprecated)

read()
一 次讀取所有的檔案內容,在不使用檔案時,可以使用close()將檔案關閉以節省資源

範例:
#-*-coding:UTF-8 -*-
#  file 讀檔範例 read()

file = open('dream.txt', 'r', encoding='UTF-8')
content = file.read()
print(content)

file.close()


readline()
一次讀取一行內容。其中,讀取類似POP,會將第一行pop出來後,讀取的file檔會剩下第二後之後的。但原始檔並不會被修改到。

範例:
#-*-coding:UTF-8 -*-
#  file 讀檔範例 readline()

file = open('dream.txt', 'r', encoding='UTF-8')
while True:
    line = file.readline()
    if not line:
        break
    print(line, end='')


file.close()

readlines()
用一個串列收集讀取的每一行

範例:
#-*-coding:UTF-8 -*-
#  file 讀檔範例 readlines()

file = open('dream.txt', 'r', encoding='UTF-8')
for line in file.readlines():
    print(line, end='')


file.close()

使用open()函式時,指定模式為‘w’或’a’,並使用write()方法進行資料寫入。傳入參數需為字串型態
範例1:使用write()函數
#-*-coding:UTF-8 -*-
#  file 寫檔範例 write()
#  亂數產生10個整數(1~1000),寫入檔案中

import random
file = open('rand_num.txt', 'w', encoding = 'UTF-8')
for i in range(10):
    file.write( str(random.randint(1,1000))+'\n' )


file.close()

範例2:print()直接寫檔
#-*-coding:UTF-8 -*-
#  print 寫檔範例

text = '''食譜:芒果冰沙
1.將愛文芒果去皮,切小塊備料
2.將冰塊放進果汁機,再放入其他所有食材(可留部分芒果塊,放置冰沙上方)
3.開啟果汁機,以漸進式方式快速打勻,直到冰塊完全打成冰沙即可
4.芒果冰沙裝杯後,放入芒果塊於冰沙上方,可增加芒果冰沙的口感喔!'''

print(text ,file=open('data.txt','w',encoding='utf-8'))

沒有留言:

張貼留言