Python3輸入輸出


Python兩種輸出值的方式,表達式語句和print()函數。

第三種方式是使用文件對象的write()方法,標准輸出文件可以用sys.stdout的引用。

如果你希望輸出的形式更加多樣,可以使用str.fomat()函數來格式化輸出值。

如果你希望將輸出的值轉化成字符串,可以使用repr()和str()函數來實現。

str():函數返回一個用戶易讀的表達式

repr():產生一個解釋器易讀的表達形式。

 

 

 

這里有兩種方式輸出一個平方和立方的表:

 

 

 

 

 

 

注意:在第一個例子種,每個列間的空格由print添加。

這個例子展示了字符串對象的rjust()方法,它可以將字符串靠右,並在左邊填充空格。

還有類似的方法,如ljust()和center()。這些方法並不會寫任何東西,他們僅僅返回新的字符串。

還有一個zfill(),它會在數字的左邊填充0,如下所示:

str.format()的基本用法如下:

 

print(’{}網址: “{}!“’.format(‘菜鳥教程’,‘www.runoob.com’))

菜鳥教程網址:”www.runoob.com”

括號及其里面的字符(俗稱格式化字符)將會被format()中的參數替換。

在括號中的數字用於指向傳入對象在format()中的位置

 

 

 

如果format()中使用了關鍵字參數,那么他們的值會指向使用該名字的參數。

 

 

 

位置和關鍵字參數可以任意結合:

 

 

 

!a(使用ascii()),!s(使用str())和!r(使用repr())可以用於格式化某個值之前對其進行轉化:

 

 

 

可選項: 和格式標識符可以跟着字段名。這允許對值進行更好的格式化。

 

 

在 : 后傳入一個整數,可以保證該域至少有這么多寬度。用於美化表格時很有用:

 

 

舊式字符串格式化:

%操作符也可以實現字符串格式化它將左邊參數作為類是sprintf()式的格式化字符串,而將右邊的代入,然后返回格式化后的字符串。

 

 

因為str.format()比較新的緣故,大多數python仍然使用%操作符,但是因為這種舊時的格式化最總會從該語言中移除,應該更多的使用str.format()

 

讀取鍵盤輸入

python提供了input()內置函數從標准輸入讀入一行文本,默認的標准輸入是鍵盤。

input可以接受一個Python表達式作為輸入,然后從運算結果返回。

 

 

讀和寫文件

open()將會返回一個file文件,基本語法格式如下:

open(filename,mode)

filename:包含了你要訪問的文件名的字符串值。

mode:決定了打開文件的模式:只讀,寫入,追加等。

 

不同模式打開文件的文件完全列表:

模式

描述

r

以只讀方式打開文件。文件的指針將會放在文件的開頭,這是默認模式

rb

以二進制格式打開一個文件用於只讀,文件指針將會放在文件的開頭

r+

打開一個文件用於讀寫。文件指針將會放在文件的開頭

rb+

以二進制格式打開一個文件用於讀寫,文件指針將會放在文件的開頭

w

打開一個文件只用於寫入如果該文件

wb

以二進制格式打開一個文件用於讀寫,如果該文件已存在則打開文件,並且從頭開始編輯,即原有內容會被刪除,如果該文件不存在則創建新文件。

a

打開一個文件用於追加,如果該文件已存在,文件指針將會放在文件的結尾。也就是說新的內容會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。

ab

以二進制格式打開一個文件用於追加如果該文件已存在,文件指針將會放在文件的結尾。也就是說新的內容將會被寫入到已有內容之后如果該文件不存在,創建新文件進行讀寫。

a+

打開一個文件用於讀寫如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式,如果該文件不存在,創建新文件用於讀寫。

ab+

以為禁止格式打開一個文件用於追加,如果該文件已存在。如果文件已存在,文件指針會放在文件結尾,如果該文件不存在,創建新文件用於讀寫。

 

 

模式

r

r+

w

w+

a

a+

+

+

 

+

 

+

 

+

+

+

+

+

創建

 

 

+

+

+

+

覆蓋

 

 

+

+

 

 

指針在開始

+

 

+

+

 

 

指針在結尾

 

+

 

 

+

+

以下實例將字符串傳入到foo.txt

 

 

 

文件對象的方法

f.read()

為了讀取一個文件的內容,調用f.read(size),這將讀取一定數目的數據,然后作為字符串或者字節對象返回。

size是一個可選的數字類型的參數。當size被忽略了或為負時,那么該文件的所有內容都將被讀取並且返回。

 

 

f.readline()

該函數會從一個文件中讀取單獨的一行換行符為’\n’。f.readline()如果返回一個空字符串,說明已經讀取到最后一行。

 

 

f.readlines():

該函數會返回文件所包含的所有行。

如果參數可選參數sizehint,則讀取指定長度的字節,並且將這些字節按行分隔。

 

 

另一種方式迭代一個文件對象然后讀取每行。

 

 

這個方法雖然很簡單,但是沒有提供一個很好的控制,因為兩者的處理機制不同

 

f.write()

f.write(string)將string寫入到文件中,然后返回寫入的字符數。

 

 

如果要寫入的東西不是字符串的話,那么需要先將其轉換成字符串。

 

 

f.tell()

該函數返回文件對象當前所處的位置,它是從文件開頭開始算起的字節數

 

f.seek()

如果要該改變文件當前的位置,可以使用f.seek(offset,from_what)函數。

from_what的值,如果是0表示開頭,如果是1表示當前位置,2表示文件的結尾。

seek(x,0):從起始位置即文件首行首字符開始移動x個字符。

seek(x,1):表示從當前位置往后移動x個字符。

seek(-x,2):表示從文件的結尾往前移動x個字符。

 

from_what值為默認為0,即文件開頭

 

 

f.close()

在文本文件中(那些打開文件的模式下沒有b的),只會想相對於文件起始位置進行定位。

當你處理完一個文件后,調用f.close()來關閉文件並釋放系統資源,如果嘗試再調用該文件,則會拋出異常。

當處理一個文件對象時,使用with關鍵字也是非常好的方法。在結束時他會幫助你正確的關閉文件,並且寫起來也要比try-finally語句塊要簡短。

 

 

格式化輸出:

1.整數的輸出

 

 

分別輸出八進制十進制和十六進制。

2.浮點數輸出

%f保留小數點后面六位有效數字float

%e保留小數點后六位有效數字

%g在保證六位有效數字前提下,使用小數方法,否則就使用科學記數法

 

 

1)默認保留6位小數

2)娶一位小數1.1

3)默認六位小數,用科學記數法

4)去三位小數,用科學記數法

5)默認六位有效數字

6)取七位有效數字

7)取2位有效數字

 

3.字符串輸出

%s字符串輸出string

%10s 占位符10位

%-10s 左對齊占位符10位

%.2s 截取2位字符串

%10.2s 10位占位符,截取兩位字符串

 

 

1) 字符串輸出hello world

2) 右對齊,取20位,不夠則補位

3) 左對齊,取20位,不夠則部位

4) 取兩位he

5) 右對齊取兩位

6) 左對齊取兩位


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM