try except inside a with open

Ganesh Pal ganesh1pal at gmail.com
Fri Jul 20 13:59:21 EDT 2018


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 .

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


Regards,
Ganesh



More information about the Python-list mailing list