This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:python:misc_by_jyp [2021/07/06 11:25] jypeter Started the command-line args section |
other:python:misc_by_jyp [2021/07/07 13:07] jypeter Added the paths/filenames section |
||
---|---|---|---|
Line 39: | Line 39: | ||
True</code> | True</code> | ||
+ | ==== Working with paths and filenames ==== | ||
+ | |||
+ | If you are in a hurry, you can just use string functions to work with path and file names. But you will need some specific functions to check if a file exists, and similar operations. All these are available in 2 libraries that have similar functions. Both of these libraries can deal with Unix-type paths on Linux computers, and Windows-type paths on Windows computers | ||
+ | |||
+ | * [[https://docs.python.org/3/library/os.path.html|os.path]] //Common pathname manipulations// | ||
+ | * Available since... a long time! Use this if you want to avoid backward compatibility problems | ||
+ | * Some functions are directly in [[https://docs.python.org/3/library/os.html|os]] //Miscellaneous operating system interfaces//\\ e.g. [[https://docs.python.org/3/library/os.html#os.remove|os.remove]] and [[https://docs.python.org/3/library/os.html#os.rmdir|os.rmdir]] | ||
+ | * [[https://docs.python.org/3/library/pathlib.html|pathlib]] //Object-oriented filesystem paths// | ||
+ | * Available since Python version 3.4 | ||
+ | * [[https://docs.python.org/3/library/pathlib.html#correspondence-to-tools-in-the-os-module|Matching pathlib, and os or os.path functions]] | ||
==== Using command-line arguments ==== | ==== Using command-line arguments ==== | ||
- | === The fast but non-flexible way === | + | === The extremely easy but non-flexible way: sys.argv === |
The name of a script, the number of arguments (including the name of the script), and the arguments (as strings) can be accessed through the ''sys.argv'' strings' list | The name of a script, the number of arguments (including the name of the script), and the arguments (as strings) can be accessed through the ''sys.argv'' strings' list | ||
Line 62: | Line 72: | ||
1 tas | 1 tas | ||
2 tas_tes.nc</code> | 2 tas_tes.nc</code> | ||
+ | |||
+ | === The C-style way: getopt === | ||
+ | |||
+ | Use [[https://docs.python.org/3/library/getopt.html|getopt]] (//C-style parser for command line options//) | ||
+ | |||
+ | === The deprecated Python way: optparse === | ||
+ | |||
+ | [[https://docs.python.org/3/library/optparse.html|optparse]] (//parser for command line options//) is **deprecated since Python version 3.2**! You should now use argparse (check [[https://docs.python.org/3/library/argparse.html#upgrading-optparse-code|Upgrading optparse code]] for converting from ''optparse'' to ''argparse'') | ||
+ | |||
+ | === The current Python way: argparse === | ||
+ | |||
+ | [[https://docs.python.org/3/library/argparse.html|argparse]] (//parser for command-line options, arguments and sub-commands//) is available since Python version 3.2 | ||
/* | /* |