python3之python的核心資料型別 檔案

2021-06-01 10:00:38 字數 1449 閱讀 9599

python3之python的核心資料型別(檔案)

----------

檔案物件是python**對電腦上外部檔案的主要介面。雖然檔案是核心型別,但是它有些特殊:沒有特定的常量語法建立檔案。要建立乙個檔案物件,需要呼叫內建的open函式以字串的形式傳遞給它乙個外部的檔名以及乙個處理模式的字串。例如,建立乙個文字輸出檔案,可以傳遞其檔名以及'w'處理模式字串以寫資料:

>>>f=open('data.txt','w')

>>>f.write('hello\n')

6>>>f.write('world\n')

6>>>f.close()

這樣就在當前資料夾下建立了乙個檔案,並向它寫入文字(檔名可以是完整的路徑,如果需要讀取電腦上其他位置的檔案)。為了讀出剛才所寫的內容,重新以'r'處理模式開啟檔案,讀取輸入(如果在呼叫時忽略模式的話,這將是預設的)。之後將檔案的內容讀至乙個字串,並顯示它。對指令碼而言,檔案的內容總是字串,無**件包含的資料是什麼型別:

>>>f=open('data.txt')

>>>text=f.read()

>>>text

'hello\nworld\n'

>>>print(text)

hello

world

>>>text.split()

['hello','world']

這裡對其他的檔案物件方法支援的特性不進行討論。例如,檔案物件提供了多種讀和寫的方法(read可以接受乙個位元組大小的選項,readline每次讀一行等),以及其他的工具(seek移動到乙個新的檔案位置)。我們在本書後面會看到,如今讀取乙個檔案的最佳方式就是根本不讀它,檔案提供了乙個迭代器(iterator),它在for迴圈或其他環境中自動地一行一行讀取。

我們將在本書的後面看到檔案方法的乙個完整列表。

在本書後面,我們還將看到

python3.0中的檔案在文字和二進位制資料之間劃出了一條清晰的界限。

文字檔案把內容顯示為字串,並且自動執行unicode編碼和解碼;而二進位制檔案把內容顯示為乙個特定的位元組字串型別,並且允許你不修改地訪問檔案內容:

>>>data=open('data.bin','rb').read()

>>>data

b'\x00\x00\x07spam\x00\x08'

如果你只處理ascii文字的話,通常不需要關心這一區別,儘管如此,如果你處理國際化的應用程式或者面向位元組的資料,python3.0的字串和檔案是很有用的。

open函式能夠實現在python中編寫的絕大多數檔案處理。儘管這樣,

對於更高階的任務,python還有額外的類檔案工具:管道、先進先出佇列(fifo)、套接字、通過鍵訪問檔案、物件持久、基於描述符的檔案、關聯式資料庫和物件導向資料庫介面等。例如,描述符檔案支援檔案鎖定和其他的底層工具,而套接字提供網路和程序間通訊的介面。

python3語言 Python3學習之語言基礎3

三 判斷 迴圈語句,函式,命名空間,作用域 1 python3 條件控制 python中if語句的一般形式如下所示 python 中用 elif 代替了 else if,所以if語句的關鍵字為 if elif else。注意 1 每個條件後面要使用冒號 表示接下來是滿足條件後要執行的語句塊。2 使用...

python3語言 Python3學習之語言基礎1

一 python3入門,資料型別,字串 python 中的變數不需要宣告。每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立。usr bin python3 counter 10 整型變數 miles 3.14 浮點型變數 name bob 字串 print counter print mil...

python3之執行緒

1執行緒的建立 import threading import time,random def text1 while true print 1111111 time.sleep random.random 2 def text2 while true print 2222222 time.slee...