本文目錄一覽:
在python中,怎麼實現輸入?
Python的輸入輸出分別是利用函數:
str = input(“請輸入:”);
print (“你輸入的內容是: “, str);
input函數返回一個string類型的值,聲明一個變量來接收輸入的值,print是輸出
Python基礎之:Python中的IO
IO就是輸入和輸出,任何一個程序如果和外部希望有交互的話,都需要使用到IO。相對於java而言,Python中的IO更加的簡單,易用。
本文將會詳細介紹Python中的IO操作。
linux中有三種標準輸入輸出,分別是STDIN,STDOUT,
STDERR,對應的數字是0,1,2。
STDIN是標準輸入,默認從鍵盤讀取信息;
STDOUT是標準輸出,默認將輸出結果輸出至終端;
STDERR是標準錯誤,默認將輸出結果輸出至終端。
我們常用的 21,指將標準輸出、標準錯誤指定為同一輸出路徑 。
python中,我們可以使用print方法來輸出信息。\
我們看下print函數的定義:
print函數將 objects 打印到 file 指定的文本流,以 sep 分隔並在末尾加上 end。 sep, end, file 和 flush 如果存在,那麼必須以關鍵字參數的形式給出。
所有非關鍵字參數都會被轉換為字符串,並會被寫入到流,以 sep 分割,並在末尾加上 end。 sep 和 end 都必須為字符串;它們也可以為 None,這意味着使用默認值。 如果沒有給出 objects,則 print() 將只寫入 end。
file 參數必須是一個具有 write(string) 方法的對象;如果參數不存在或為 None,則將使用 sys.stdout。 由於要打印的參數會被轉換為文本字符串,因此 print()不能用於二進制模式的文件對象。 對於這些對象,可以使用 file.write(…)。
輸出是否被緩存通常決定於 file,但如果 flush 關鍵字參數為真值,輸出流會被強制刷新。
可以看到print的輸出格式還是比較簡單的。我們接下來看一下怎麼豐富輸出的格式。
如果想要格式化字符串,可以在字符串的開始引號之前加上 f 或 F。
這樣的話,我們可以直接在字符串中引入變量值,只需要把變量放在 { 和 } 中間即可。
除了在{ }中放入Python變量之外,還可以在其中放入函數:
在 ‘:’ 後傳遞一個整數可以讓該字段成為最小字符寬度。方便列對齊:
{ }中的變量後面還可以跟着轉值符號:’!a’ 表示應用 ascii() ,’!s’ 表示應用 str(),還有 ‘!r’ 表示應用 repr():
除此之外,str本身自帶一個功能強大的format 函數:
調用此方法的字符串可以包含字符串字面值或者以花括號 {} 括起來的替換域,每個替換域可以包含一個位置參數的數字索引,或者一個關鍵字參數的名稱。 返回的字符串副本中每個替換域都會被替換為對應參數的字符串值。
再看一個使用索引的例子:
看一個關鍵字的例子:
再看一個組合的例子:
還有非常複雜的組合的例子:
或者使用 ‘**’ 符號將 table 作為關鍵字參數傳遞:
還可以使用n類型 ‘{:n}’ 來格式化數字:
如果我們只是想要將Python對象轉換為字符串,那麼可以使用repr()或者str(), str() 函數是用於返回人類可讀的值的表示,而 repr()是用於生成解釋器可讀的表示。
舉個例子:
str對象還提供了一些對字符串進行手動格式化的方法:
字符串對象的 str.rjust()方法通過在左側填充空格來對給定寬度的字段中的字符串進行右對齊。類似的方法還有 str.ljust()和 str.center()。
如果輸入的字符串太長,它們不會截斷字符串,而是原樣返回。
如果想保證字符串的長度,則可以使用切片: x.ljust(n)[:n] 。
還可以使用str.zfill()來用0填充字符串:
% 也可以用來格式化字符串,給定 ‘string’ % values,則 string 中的 % 實例會以零個或多個 values 元素替換。 此操作通常被稱為字符串插值。
python中文件讀取非常簡單,使用open()方法即可。
open()會返回一個文件對象。我們看一下它的定義:
第一個參數是文件名。
第二個參數是文件打開的模式,可用的模式有:
默認模式為 ‘r’ 。
看一個open文件的例子:
文件打開了,自然需要被關閉,所以我們需要顯示調用 f.close() 方法:
有沒有類似java中的try with resource的自動關閉文件的功能呢?
我們可以使用with,這樣文件在使用完畢之後,會自動被關閉,非常的好用。
文件被關閉之後,如果想要再次讀取,就會報錯:
獲取到文件對象之後,我們就可以調用文件中的方法了。
f.read(size) 會讀取一些數據並將其作為字符串(在文本模式下)或字節串對象(在二進制模式下)返回。
size 是一個可選的數值參數。 當 size 被省略或者為負數時,將讀取並返回整個文件的內容;當取其他值時,將讀取並返回至多 size 個字符(在文本模式下)或 size 個字節(在二進制模式下)。 如果已到達文件末尾,f.read() 將返回一個空字符串 (”)。
f.readline() 從文件中讀取一行;換行符(\n)留在字符串的末尾,如果文件不以換行符結尾,則在文件的最後一行省略。如果 f.readline() 返回一個空的字符串,則表示已經到達了文件末尾,而空行使用 ‘\n’ 表示,該字符串只包含一個換行符。
還有一種更加簡單的讀取方法,就是從文件中遍歷:
如果你想以列表的形式讀取文件中的所有行,你也可以使用 list(f) 或 f.readlines()。
f.write(string) 會把 string 的內容寫入到文件中,並返回寫入的字符數。
如果是在文本模式下,那麼在寫入文件之前,需要把對象轉換成為文本形式,我們可以使用str()來進行轉換。
使用f.seek(offset, whence)可以定位文件指針的位置,然後後續會從該位置開始進行讀取操作。
whence 的 0 值表示從文件開頭起算,1 表示使用當前文件位置,2 表示使用文件末尾作為參考點。 whence 如果省略則默認值為 0,即使用文件開頭作為參考點。
JSON是一個很方便進行信息交流的文件格式。我們看下怎麼使用JSON來將對象轉換為字符串:
dumps是將對象轉換為json str。 json還有一個dump方法,可以直接將對象存入到文件中。
要從文件中解析出json字符串,可以使用load:
JSON 中的鍵-值對中的鍵永遠是 str類型的。當一個對象被轉化為 JSON 時,字典中所有的鍵都會被強制轉換為字符串。這所造成的結果是字典被轉換為 JSON 然後轉換回字典時可能和原來的不相等。換句話說,如果 x 具有非字符串的鍵,則有 loads(dumps(x)) != x。
Python 標準化輸出
Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。相對於老版的%格式方法,它有很多優點。
1.在%方法中%s只能替代字符串類型,而在format中不需要理會數據類型;
2.單個參數可以多次輸出,參數順序可以不相同;
3.填充方式十分靈活,對齊方式十分強大;
4.官方推薦用的方式,%方式將會在後面的版本被淘汰。
1、按照默認順序, 不指定位置
2、設置 指定位置 ,可以多次使用
3、使用 字典 格式化
4、通過 列表 格式化
填充與對齊 ^ 分別代表居中,左對齊,右對齊,後面數字表示寬度,’:’ 後面帶填充的字符,只能是一個字符,不指定的話默認空格.
有時間寫一下這個例子
暫時先放兩個回頭再補
用“,”還能做金額的千位分隔符。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/288813.html