Python Array fromfile() 方法



Python Array fromfile() 方法用于将文件对象中的项目附加到数组中。

语法

以下是 Python Array fromfile() 方法的语法 -


 array_name.fromfile(f,n)

参数

此方法接受以下参数 -

  • f :这是要从中将项目附加到数组的文件对象。
  • n :这是文件中需要附加到数组的项目数。

返回值

此方法不返回任何值。

示例 1

以下是 Python Array 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 charater 数据类型的数组从一个文件附加到另一个数组 -


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 错误。

此处,文件元素数为 5,提到的 n 值为 6


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