111 commands · 6 cheat sheets · Python
Files, OS, and CLI master quick reference
Browse 111 commands from 6 focused cheat sheets on page 1 of 1. Each example opens its matching detailed section.
Files, OS, and CLI · 22 commands
Python argparse Command-Line Interfaces Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a parser | parser = argparse.ArgumentParser(prog='tool', description='Process records') | View examples |
| Add a positional | parser.add_argument('input', help='input path') | View examples |
| Add an option | parser.add_argument('-o', '--output', default='-') | View examples |
| Parse an explicit list | args = parser.parse_args(['input.csv', '--output', 'result.json']) | View examples |
| Convert a value | parser.add_argument('--limit', type=int, default=100) | View examples |
| Restrict choices | parser.add_argument('--format', choices=('json', 'csv')) | View examples |
| Add positive and negative flags | parser.add_argument('--cache', action=argparse.BooleanOptionalAction, default=True) | View examples |
| Count repeated flags | parser.add_argument('-v', '--verbose', action='count', default=0) | View examples |
| Require one or more values | parser.add_argument('files', nargs='+') | View examples |
| Append repeated option values | parser.add_argument('--tag', action='append', default=[]) | View examples |
| Omit an absent attribute | parser.add_argument('--token', default=argparse.SUPPRESS) | View examples |
| Set parser-wide defaults | parser.set_defaults(timeout=30, handler=run) | View examples |
| Create required subcommands | commands = parser.add_subparsers(dest='command', required=True) | View examples |
| Declare a subcommand | build = commands.add_parser('build', help='build artifacts') | View examples |
| Dispatch to a handler | result = args.handler(args) | View examples |
| Validate with a type function | parser.add_argument('--port', type=parse_port) | View examples |
| Make options mutually exclusive | mode = parser.add_mutually_exclusive_group(required=True) | View examples |
| Retain unknown tokens | args, remaining = parser.parse_known_args(argv) | View examples |
| Populate an existing namespace | args = parser.parse_args(argv, namespace=argparse.Namespace(source='config')) | View examples |
| Render plain help | parser = argparse.ArgumentParser(prog='tool', color=False) | View examples |
| Catch conversion errors | parser = argparse.ArgumentParser(exit_on_error=False) | View examples |
| Generate help text | help_text = parser.format_help() | View examples |
Files, OS, and CLI · 19 commands
Python Configuration with tomllib and configparser Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Read a TOML file | with path.open('rb') as file: config = tomllib.load(file) | View examples |
| Read a TOML string | config = tomllib.loads(source) | View examples |
| Support older Python | tomllib = importlib.import_module('tomllib' if sys.version_info >= (3, 11) else 'tomli') | View examples |
| Parse exact decimal values | config = tomllib.loads(source, parse_float=Decimal) | View examples |
| Read TOML date-time values | released = config['package']['released'] | View examples |
| Catch invalid TOML | except tomllib.TOMLDecodeError as error: report(error) | View examples |
| Bound untrusted input | if path.stat().st_size > MAX_CONFIG_BYTES: raise ValueError('configuration too large') | View examples |
| Validate a required value | port = require_port(config['server'].get('port')) | View examples |
| Read available INI files | loaded = parser.read(['defaults.ini', 'local.ini'], encoding='utf-8') | View examples |
| Read INI text | parser.read_string(source) | View examples |
| Convert an INI integer | workers = parser.getint('service', 'workers') | View examples |
| Convert an INI boolean | debug = parser.getboolean('service', 'debug') | View examples |
| Provide a missing-option fallback | timeout = parser.getfloat('service', 'timeout', fallback=5.0) | View examples |
| Define shared defaults | parser['DEFAULT'] = {'timeout': '5', 'retries': '2'} | View examples |
| Layer configuration files | parser.read(['base.ini', 'deployment.ini', 'local.ini'], encoding='utf-8') | View examples |
| Disable interpolation | parser = ConfigParser(interpolation=None) | View examples |
| Use cross-section interpolation | parser = ConfigParser(interpolation=ExtendedInterpolation()) | View examples |
| Preserve option-name case | parser.optionxform = str | View examples |
| Serialize INI configuration | parser.write(file, space_around_delimiters=True) | View examples |
Files, OS, and CLI · 19 commands
Python Files and Paths Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a path object | config = Path('config/settings.json') | View examples |
| Join path segments | report = base / 'reports' / 'daily.txt' | View examples |
| Inspect path components | path.name, path.stem, path.suffix, path.parent | View examples |
| Check existence | path.exists() | View examples |
| Check the path kind | path.is_file(), path.is_dir() | View examples |
| Resolve an absolute path | absolute = path.resolve() | View examples |
| Create parent directories | output.mkdir(parents=True, exist_ok=True) | View examples |
| List directory entries | for child in directory.iterdir(): print(child.name) | View examples |
| Match child paths | for path in directory.glob('*.json'): print(path) | View examples |
| Search recursively | for path in directory.rglob('*.py'): print(path) | View examples |
| Read text | text = path.read_text(encoding='utf-8') | View examples |
| Write text | path.write_text(text, encoding='utf-8') | View examples |
| Process lines lazily | with path.open(encoding='utf-8') as file: lines = list(file) | View examples |
| Read bytes | data = path.read_bytes() | View examples |
| Write bytes | path.write_bytes(data) | View examples |
| Load JSON | data = json.loads(path.read_text(encoding='utf-8')) | View examples |
| Write readable JSON | path.write_text(json.dumps(data, indent=2) + '\n', encoding='utf-8') | View examples |
| Use a temporary directory | with TemporaryDirectory() as directory: work = Path(directory) | View examples |
| Replace a file atomically | temporary.replace(destination) | View examples |
Files, OS, and CLI · 20 commands
Python OS Signals and Process Environment Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Install a handler | previous = signal.signal(signal.SIGTERM, handle_shutdown) | View examples |
| Check the main thread | is_main = threading.current_thread() is threading.main_thread() | View examples |
| List supported signals | supported = signal.valid_signals() | View examples |
| Request graceful stop | def handler(signum, frame): shutdown.set() | View examples |
| Wait interruptibly | requested = shutdown.wait(timeout=1.0) | View examples |
| Restore a disposition | signal.signal(signal.SIGTERM, previous) | View examples |
| Schedule SIGALRM | remaining = signal.alarm(seconds) | View examples |
| Schedule a real-time timer | previous = signal.setitimer(signal.ITIMER_REAL, delay, interval) | View examples |
| Block signals in one thread | previous = signal.pthread_sigmask(signal.SIG_BLOCK, signals) | View examples |
| Read with a default | mode = os.getenv('APP_MODE', 'production') | View examples |
| Require a variable | database_url = os.environ['DATABASE_URL'] | View examples |
| Copy the environment | environment = os.environ.copy() | View examples |
| Set a process variable | os.environ['APP_MODE'] = 'test' | View examples |
| Remove a process variable | os.environ.pop('APP_MODE', None) | View examples |
| Reload external changes | os.reload_environ() | View examples |
| Pass a child environment | subprocess.run(argv, env=child_env, check=True) | View examples |
| Override selected child values | child_env = os.environ | {'APP_MODE': 'batch'} | View examples |
| Expand environment syntax | expanded = os.path.expandvars(template) | View examples |
| Read a bytes environment | raw = os.environb.get(b'KEY') | View examples |
| Check bytes environment support | available = os.supports_bytes_environ | View examples |
Files, OS, and CLI · 16 commands
Python subprocess and Command Execution Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Run an argument sequence | subprocess.run([program, '--flag', value], check=True) | View examples |
| Reuse this Python | subprocess.run([sys.executable, '-m', 'package'], check=True) | View examples |
| Capture both streams | result = subprocess.run(args, capture_output=True, text=True) | View examples |
| Choose text encoding | subprocess.run(args, capture_output=True, text=True, encoding='utf-8') | View examples |
| Merge stderr into stdout | subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True) | View examples |
| Require success | result = subprocess.run(args, check=True) | View examples |
| Check after inspection | result.check_returncode() | View examples |
| Read the exit status | if result.returncode != 0: handle_failure(result.stderr) | View examples |
| Bound runtime | subprocess.run(args, timeout=10, check=True) | View examples |
| Handle expiration | except subprocess.TimeoutExpired as exc: report(exc.cmd, exc.timeout) | View examples |
| Send standard input | subprocess.run(args, input=payload, text=True, check=True) | View examples |
| Set child environment | subprocess.run(args, env={**os.environ, 'APP_MODE': 'test'}, check=True) | View examples |
| Set child directory | subprocess.run(args, cwd=workspace, check=True) | View examples |
| Start a managed process | with subprocess.Popen(args, stdout=subprocess.PIPE, text=True) as process: stdout, _ = process.communicate() | View examples |
| Drain process pipes | stdout, stderr = process.communicate(input=payload, timeout=10) | View examples |
| Discard a stream | subprocess.run(args, stdout=subprocess.DEVNULL, check=True) | View examples |
Files, OS, and CLI · 15 commands
Python zipfile, tarfile, and Compression Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a ZIP archive | with ZipFile(path, 'w', compression=ZIP_DEFLATED) as archive: archive.write(source, arcname='data.txt') | View examples |
| Write bytes to ZIP | archive.writestr('manifest.json', payload) | View examples |
| Read one ZIP member | with archive.open('manifest.json') as member: data = member.read(limit + 1) | View examples |
| Inspect ZIP metadata | for info in archive.infolist(): print(info.filename, info.file_size, info.compress_size) | View examples |
| Check ZIP CRC values | bad_member = archive.testzip() | View examples |
| Create a compressed tar | with tarfile.open(path, 'w:gz') as archive: archive.add(source, arcname='data') | View examples |
| Detect tar compression | with tarfile.open(path, 'r:*') as archive: members = archive.getmembers() | View examples |
| Add generated bytes to tar | archive.addfile(info, io.BytesIO(payload)) | View examples |
| Use the tar data filter | archive.extractall(destination, filter='data') | View examples |
| Validate ZIP destinations | target = (destination / info.filename).resolve() | View examples |
| Compress with gzip | compressed = gzip.compress(data, compresslevel=6, mtime=0) | View examples |
| Compress with bzip2 | compressed = bz2.compress(data, compresslevel=9) | View examples |
| Compress with XZ | compressed = lzma.compress(data, format=lzma.FORMAT_XZ) | View examples |
| Incremental zlib compression | compressor = zlib.compressobj(level=6) | View examples |
| Create an archive by format | archive_path = shutil.make_archive(base_name, 'zip', root_dir=source_dir) | View examples |



