[Python] Working with file

Python allows you to open a file, do operations on it, and automatically close it afterwards using with.

>>> with open('/my_path/my_file.txt','r') as f:
>>>   file_data = f.read()

In the example above we open a file, perform the operations in the block below the with statement (in this case read from the file) and afterwards Python closes it for us. No need to call

f.close()

In the previous code, the call to f.read() had no arguments passed to it; it defaults to reading all the remainder of the file from its current position - the whole file. If you pass .read() an integer argument, it will read up to that number of characters, output all of them, and keep the 'window' at that position ready to read on.

>>> with open(camelot.txt) as song:
…        print(song.read(2))
…        print(song.read(8))
…        print(song.read())
We
're the 
knights of the round table
We dance whenever we're able

Conveniently, Python will loop over the lines of a file using the syntax for line in file. I can use this to create a list of lines in the file. Because each line still has its newline character attached, I remove this using .strip().

>>> camelot_lines = []
>>> with open("camelot.txt") as f:
...     for line in f:
...         camelot_lines.append(line.strip())
... 
>>> print(camelot_lines)
["We're the knights of the round table", "We dance whenever we're able"]
原文地址:https://www.cnblogs.com/Answer1215/p/7910258.html