On 2018-07-20 18:59, Ganesh Pal wrote:
Dear python Friends,


I need a quick suggestion on the below code.

def modify_various_line(f):
     """ Try modifiying various line """
     try:
         f.write('0123456789abcdef')
         f.seek(5)     # Go to the 6th byte in the file
         print f.read(1)
         f.seek(-3, 2) # Go to the 3rd byte before the end
         print f.read(1)
         f.write('END')
     except IOError as e:
        raise
     return True

def h():
     try:
         with open('/tmp/file.txt', 'r+') as f:
              try:
                  modify_various_line(f)
              except Exception as e:
                print e
     except IOError as e:
         print(e)

h()

gpal-cwerzvd-1# python ganesh1.py
5
d
gpal-cwerzvd-1# cat /tmp/file.txt
0123456789abcdefEND#



(1) Can we  use try and expect  in  a 'with open' function as shown in the
below example code .

Yes.

(2)  If I hit any other exceptions  say Value-error can I catch them as
show below

     try:
         with open('/tmp/file.txt', 'r+') as f:
              try:
                  modify_various_line(f)
                  value_list = [str(value) for value in somedict.values()]]
              except (ValueError,IOError) as e:
                print e
     except IOError as e:

PS:  I don't want to use other way of opening file say file =
open(“testfile.txt”,”w”)  and also want to retain modify_various_line(f)
function ,

Yes.
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to