将参数从批处理文件传递到Python
我试图将参数从批处理文件传递到python,如下所示。似乎没有任何东西传递给“sample”变量。我的问题是将参数从批处理文件传递到Python,python,batch-file,exception,null,arguments,Python,Batch File,Exception,Null,Arguments,我试图将参数从批处理文件传递到python,如下所示。似乎没有任何东西传递给“sample”变量。我的问题是 如何正确地进行论证 如何在运行.bat时检查空点错误以执行此python?执行时,我可能无法在IDE中看到控制台日志 我的批处理文件(.bat) 我的python文件(test.py) 使用argparse 例如:在你的python文件中 import argparse parser = argparse.ArgumentParser(description='Your prog de
import argparse
parser = argparse.ArgumentParser(description='Your prog description.')
parser.add_argument('-f','--foo', help='Description for foo argument', required=True)
:
:
args = parser.parse_args()
在你的bat文件里
python prog.py -f <foo arg here>
python prog.py-f
使用argparse
例如:在你的python文件中
import argparse
parser = argparse.ArgumentParser(description='Your prog description.')
parser.add_argument('-f','--foo', help='Description for foo argument', required=True)
:
:
args = parser.parse_args()
在你的bat文件里
python prog.py -f <foo arg here>
python prog.py-f
在代码中,您将跳过第一个参数两次
使用sys.argv[1://code>调用main
,跳过第一个参数(程序名);但是,main
本身使用argv[1]
。。。再次跳过它的第一个参数
例如,只需将sys.argv
原封不动地传递到main
即可
或者,更优雅地说,确实调用main(sys.argv[1:])
,但是,在main
中,使用argv[0]
在代码中,您将跳过第一个参数两次
使用sys.argv[1://code>调用main
,跳过第一个参数(程序名);但是,main
本身使用argv[1]
。。。再次跳过它的第一个参数
例如,只需将sys.argv
原封不动地传递到main
即可
或者,更优雅地说,确实调用main(sys.argv[1:])
,但是,在main
中,使用argv[0]
optparse已弃用;您应该更喜欢使用now.Updated My and answer to argparse,Thanksoptparse已弃用;你应该更喜欢现在使用。更新我自己和回答argparse,谢谢