標準輸入輸出
sys.stdin.readline() 與 input()
import sysa = sys.stdin.readline().strip('\n')
值得注意的是,sys.stdin.readline()會把標準輸入全部獲取,包括末尾的換行符 '\n',我們需要用 strip('\n') 去掉換行符 '\n' 。
當我們用內建函式 input() 時,事實上是先把提示資訊輸出,然後獲取輸入:
a = input('請輸入:')
與 sys.stdin.readline() 一樣,input() 將所有輸入作為字串看待,返回字串型別。
sys.stdout.write() 與 print()
import syssys.stdout.write('hello')
注意:互動式模式下除了返回字串,還會返回字串長度。
print() 將內容列印到控制台。
print('hello')
舉個栗子:
輸入兩個數字,並計算他們之和的平方根。
>>> a = float(input('第乙個數字:'))>>> b = float(input('第二個數字:'))
>>> sum = (a + b) ** (1/2)
>>> print(",之和的平方根:".format(a, b, sum))
檔案物件
python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理時都需要使用到這個函式。
注意:呼叫 open() 方法產生檔案物件後,一定要呼叫該物件的 close() 方法關閉檔案。
open() 函式常用形式是接收兩個引數:檔名和模式。
open(file,mode='r')
常用的模式有:
'r':讀
'w':寫
'a':追加
'r+' :r+w(可讀可寫,檔案若不存在就報錯)
'w+' : w+r(可讀可寫,檔案若不存在就建立)
'a+' :a+r(可追加可寫,檔案若不存在就建立)
對應的,如果是二進位制檔案,就都加乙個b就好啦:
'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
檔案物件的方法
f.read([size]) # 讀取指定的位元組數
f.readline() # 讀取整行,包括 '\n'
f.readlines() # 讀取所有行,並返回列表
f.write(str) # 將字串寫入檔案,返回寫入的字串長度
f.writelines(sequence) # 向檔案寫入乙個字串列表
f.tell() # 返回檔案當前位置
f.seek(offset[,whence]) # 設定檔案當前位置
f.close() # 關閉檔案物件
上下文管理器
上下文管理器(context manager)用於規定某個物件的使用範圍。一旦進入或者離開該使用範圍,會有特殊操作被呼叫 (比如為物件分配或者釋放記憶體)。它的語法形式是 with ... as ... 。可以在不需要檔案的時候,自動關閉檔案。
with open('new.txt', 'w') as f:f.write("hello world!")
上下文管理器有隸屬於它的程式塊,當程式塊執行結束的時候,上下文管理器自動關閉了檔案(可以通過 f.closed 來查詢檔案是否關閉)。
上下文管理器基於物件的特殊方法。python 在進入程式塊之前呼叫物件的 __enter__() 方法,在結束程式塊時呼叫 __exit__() 方法。在 __exit__() 方法中,有 self.close() 語句。任何定義了 __enter__() 和 __exit__() 方法的物件都可以用於上下文管理器。
python 檔案操作
簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...
python檔案操作
1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...
Python 檔案操作
1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...