On 07Jul2024 22:22, Rob Cliffe <rob.cli...@btinternet.com> wrote:
Remember, the `open()` call returns a file object _which can be used as a context manager_. It is separate from the `with` itself.
Did you test this?
    f = open(FileName) as f:
is not legal syntax.

No. You're right, remove the "as f:".

it's legal, but doesn't work (trying to access the file after "with f" raises the same
    ValueError: I/O operation on closed file.

This astounds me. Code snippet to demo this?

Here's a test script which I've just run now:

    FileName = 'foo.txt'
    try:
      f = open(FileName)
    except FileNotFoundError:
      print(f"File {FileName} not found")
      sys.exit()
    with f:
      for line in f:
        print("line:", line.rstrip())

Here's the foo.txt file:

    here are
    some lines of text

Here's the run:

    % python3 p.py
    line: here are
    line: some lines of text
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to