Python 陣列 fromfile() 方法



Python 陣列的 fromfile() 方法用於將檔案物件中的專案新增到陣列中。

語法

以下是 Python 陣列 fromfile() 方法的語法:

array_name.fromfile(f,n)

引數

此方法接受以下引數:

  • f : 這是要將專案新增到陣列的檔案物件。
  • n : 這是需要新增到陣列的檔案中專案的數量。

返回值

此方法不返回值。

示例 1

以下是 Python 陣列 fromfile() 方法的基本示例:

#import  array module
import array as arr
#open file object for writing
f = open('my_file.txt','wb')
#write array of integers to file object
arr1=arr.array("i", [1, 2, 3, 4, 5, 6, 7, 8, 9])
print("Array in the file :",arr1 )
arr1.tofile(f)
#close file
f.close()
#open file for reading
f = open('my_file.txt','rb')
#initialize array with integer type
array_one = arr.array("i")
#initialize array with integer type
array_two = arr.array("i")
#read 3 items from file
array_one.fromfile(f,3)
print("Appended array1 :",array_one)
#Moving the cursor to the first position
f.seek(0)
#read 6 items from file
array_two.fromfile(f,6)
print("Appended array2 :",array_two)
#close file
f.close()

輸出

以下是上述程式碼的輸出:

Array in the file : array('i', [1, 2, 3, 4, 5, 6, 7, 8, 9])
Appended array1 : array('i', [1, 2, 3])
Appended array2 : array('i', [1, 2, 3, 4, 5, 6])

示例 2

讓我們嘗試將 unicode 字元 資料型別的陣列從一個檔案新增到另一個數組:

import array as arr
arr2=arr.array('u',['a','b','c','d'])
print("Array elements in the file :",arr2)
f=open('fromfile2.txt','wb')
arr2.tofile(f)
f.close()
arr3=arr.array('u')
f1=open("fromfile2.txt","rb")
arr3.fromfile(f1,len(arr2))
print('Array element after appending from file :',arr3)
f.close()

輸出

Array elements in the file : array('u', 'abcd')
Array element after appending from file : array('u', 'abcd')

示例 3

在此方法中,如果檔案 f 的專案或元素數量少於 n 個專案,我們將得到 EOF 錯誤

這裡,檔案元素的數量為 五個,而 n 值為 六個

import array as arr
arr3=arr.array('d',[5.6,3.9,23.5,45.7,12.7])
print("Length of the array in the file", len(arr3))
print("Array elements in the file :",arr3)
f=open('fromfile2.txt','wb')
arr3.tofile(f)
f.close()
arr4=arr.array('d')
f1=open("fromfile2.txt","rb")
arr4.fromfile(f1,6)
print('Array element after appending from file :',arr4)
f.close()

輸出

Length of the array in the file 5
Array elements in the file : array('d', [5.6, 3.9, 23.5, 45.7, 12.7])
Traceback (most recent call last):
  File "E:\pgms\Arraymethods prgs\fromfile1.py", line 63, in 
    arr4.fromfile(f1,6)
EOFError: read() didn't return enough bytes
python_array_methods.htm
廣告