假设我有一个main.py和一个子文件.py
import subfile #Writen by myself. I want to share argparse with it
import argparse
parser = argparse.ArgumentParser(description='test',formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('--a', type=int, default=0, help='test')
args = parser.parse_args()
args.a=0
subfile.fun()
args.a=1
subfile.fun()
args.a=0
subfile.fun()
2.subfile.py
xxxxxsome operation here to use args in main.pyxxxx
# In tensorflow wrapped argparse, I just need to define the same ArgumentParser to use args defined in main.py.
# But it's not suitable for "argparse", which would cause conflicts.
def fun():
if args.a==0:
print('yes')
else:
print('no')
在main.py中,我使用argparse传递参数,main.py使用subfile.py
现在,我想在main.py中使用args define,我该怎么做
(这些代码是描述该问题的简化示例,不能通过重新组织代码来解决,必须通过使用subfile.py中的args来解决。)
谢谢你的帮助!我被一些虫子折磨了一整天,你的回答会帮我的。谢谢
编辑: 实际上,我知道如何将参数传递给函数。但正如我前面所说,我编写的示例代码只是为了解决关键问题:如何跨python文件使用库“argparse”,tensorflow“FLAG”中的类似库支持该库
def
定义函数时,如果需要参数,可以在父项之间添加它们。
这就是模型:
例如:
然后,在调用
subfile.fun()
时添加如下参数:或者像这样:
返回
请记住,函数不会返回任何内容。
如果要为变量指定“是”或“否”,可以执行以下操作:
如果只想返回“是”或“否”,则可能需要返回布尔值:
您还可以在一行中写入if语句:
进口
要导入
subfile.py
,文件应位于同一目录中。 否则,您必须这样做:您可以添加另一个文件,例如,我们将其命名为
arguments.py
然后在
main.py
和subfile.py
的顶部包含以下行:然后将与解析命令行参数相关的所有代码移到
arguments.py
这样
main.py
和subfile.py
中的模块都可以访问相同的args
对象相关问题 更多 >
编程相关推荐