File handling
You can use a file handle or you can work with file objects using with
. Using with
has the benefits of easier-to-read syntax and cleaner exception handling. Any files that are open will automatically be closed after your done when you use with
.
Checking if a File Exists
from pathlib import Path my_file = Path("/path/to/file") if my_file.is_file(): # file exists
Looping Over File Object
myfile = "output.txt" # file handle file = open(myfile, "r") # a=append, r=read, w=write, rw=read/write for line in file: print(line) # file object with open(myfile) as file: # read file line by line and output to list data = file.readlines() for line in data: print(line)
Writing To a File
myfile = "output.txt" # file handle file = open(myfile, "w") file.write("Write these lines to your file") file.write("And close it when you're done") file.close() # file object with open(myfile) as file: file.write("Write these lines to your file") file.write("And close it when you're done")
Writing to a File, Option 2
import sys print("Send this error to stderr", file = sys.stderr) f_handle = open('/tmp/output_20200511.txt', 'w') print("Output to file", file = f_handle) f_handle.close()
Types
Dustin Ingram – Static Typing in Python
VirtualEnv
When trying to run make htmldocs from kernel source, it recommends doing so from a Python virtualenv. It’s a perfect time to document setting one up (per their recommendation).
sudo yum install -y ImageMagick graphviz python-virtualenv virtualenv sphinx_1.4 . sphinx_1.4/bin/activate pip install -r Documentation/sphinx/requirements.txt
XML Parsing