sod*_*ate 7 python command-line command-line-arguments argparse
我有一个名为的脚本patchWidth.py,它使用以下命令解析命令行参数argparse:
# read command line arguments -- the code is able to process multiple files
parser = argparse.ArgumentParser(description='angle simulation trajectories')
parser.add_argument('filenames', metavar='filename', type=str, nargs='+')
parser.add_argument('-vec', metavar='v', type=float, nargs=3)
Run Code Online (Sandbox Code Playgroud)
假设此脚本使用以下内容运行:
>>> python patchWidth.py file.dat -vec 0. 0. 1.
Run Code Online (Sandbox Code Playgroud)
有没有办法在 python 中将整个内容作为字符串获取?我希望能够将使用什么参数运行的命令打印到输出文件。
是的,您可以使用 sys 模块:
import sys
str(sys.argv) # arguments as string
Run Code Online (Sandbox Code Playgroud)
请注意,这argv[0]是脚本名称。有关更多信息,请查看sys 模块文档。
小智 8
我不知道这是否是最好的选择,但是......
import sys
" ".join(sys.argv)
Run Code Online (Sandbox Code Playgroud)
将返回一个字符串 /the/path/of/file/my_file.py arg1 arg2 arg3