我有一个看起来很简单的问题,有一个简单的解决办法,只是超出了我的能力。在
我的设置:
A)驱动程序文件(运行测试脚本) B) 连接文件(使用请求) C) 参数文件
参数文件有6个变量,包括服务器IP、登录名、密码等
驱动程序文件有一个praser,它读取属性文件并填充空白。在
driver.py paramtersfile.csv
这个很好用。但是,我在参数文件中添加了一个端口变量,它需要B)连接文件查看。此连接文件从不显式调用,而是导入到驱动程序文件中,用于其连接和cookie方法。在
如何将解析的变量(从系统argv)从参数文件.csv到连接文件(或用于运行脚本的任何其他文件?在
感谢stackoverflow社区
编辑:
我用一种很明显的方式,把论点传递到课堂上(self.foo公司)我需要的任何模块/文件。在
我之前的问题是这样的:
你做的事情
加载属性(属性文件)
然后从任何其他python脚本中
导入propertyloader
它会将不可变属性的列表加载到当前空间中
看起来做起来很方便
url=propertyloader.url在
而不是
类连接(主机、端口、过程、url):
自己。网址=网址
loader=请求(安全,url)
废话连篇。。。在
在脚本的不同部分之间共享公共参数似乎是一种无需头痛的方式。在
也许还是有办法的(额外的信用问题)
从驱动程序.py文件,将连接文件作为模块导入,并将已解析的参数传递给模块内的方法。像这样:
编辑:听起来你没有以模块化的方式编写代码。你应该停止从文件的角度来考虑你的代码,而应该从模块的角度来考虑它们:你可以在许多不同的地方使用的可互换的代码。我看到你的设计的主要缺陷(如果我没有正确理解请原谅)是你在用来创建连接对象的连接文件中硬编码了一个值。我猜这就是你的代码的样子(或者至少充分地抓住了代码的精髓):
^{pr2}$上面的代码设计得不好,因为您定义了一个变量
MY_SERVER
,而这个变量本来就不应该在那里定义的!connections类不知道也不关心它应该使用什么服务器,它应该与任何服务器一起工作。那么从哪里得到服务器变量呢?通过构造函数或方法传入。你可以这样做:通过这种设计,连接对象变得更加灵活。它的基本意思是“我是一个可以处理任何服务器的连接对象。如果你想用我,告诉我你想用什么服务器!“。在
这样,在您的驱动程序文件中,您可以首先从csv解析服务器,然后简单地调用方法
connections.connect
,将其传递给您想要的服务器!在相关问题 更多 >
编程相关推荐