Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Python Array fromfile() Method



The Python array fromfile() method is used to append items from a file object to an array.

Syntax

Following is the syntax of Python array fromfile() method −

array_name.fromfile(f,n)

Parameters

This method accepts following parameters −

  • f : This is the file object from which items are to be appended to the array.
  • n : This is the number of items from file that need to be appended to the array.

Return Value

This method does not return any value.

Example 1

Following is the basic example of Python array fromfile() method −

#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()

Output

Following is the output of the above code −

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])

Example 2

Lets try to append an array of unicode charater data type from a file to another array −

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()

Output

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

Example 3

In this method, if number of items or elements of file f has less than the n items we get EOF Error.

Here, number of file elements are five and n value mentioned is six

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()

Output

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
Advertisements