python - 我应该如何组织大部分相同的脚本?
问题描述
所以我是 Python 新手,我需要一些帮助来改善我的生活。我学习 Python 是为了工作,需要减少一点工作量。我有三个不同的脚本,我一直同时运行大约 5 个副本,它们读取 XML 数据并添加信息等...但是,当我更改脚本时,我必须更改其他 5 个文件太烦人了。我不能只运行相同的脚本 5 次,因为每个文件都需要一些不同的参数,我在每个脚本的开头将这些参数存储为变量(不同的文件路径......)。
但我敢肯定那里有更好的方法吗?
一个非常小的例子:
script1.py
xml.open('c:\file1.xls')
while True:
do script...
script2.py
xml.open('c:\file2.xls')
while True:
do exactley the same script...
etc...
解决方案
你会想了解 Python 函数和模块。
函数是您问题的解决方案:它捆绑了一些功能并允许您调用它来运行它,只是作为参数传递的细微差别:
def do_something_with_my_sheet(name):
xml.open(name)
while True:
do script...
在脚本的其他地方,您可以调用该函数:
do_something_with_my_sheet('c:\file1.xls')
现在,如果您想从多个其他脚本中使用相同的函数,您可以将该函数放在一个模块中并从两个脚本中导入它。例如:
这是my_module.py
:
def do_something_with_my_sheet(name):
xml.open(name)
while True:
do script...
这是script1.py
:
import my_module
my_module.do_something_with_my_sheet('c:\file1.xls')
这可能是script2.py
(显示不同的导入方式):
from my_module import do_something_with_my_sheet
do_something_with_my_sheet('c:\file2.xls')
请注意,上面的示例假设您将所有内容都放在一个文件夹中,所有脚本都放在一个位置。您可以通过将模块放在一个包中来分离内容以便于重用,但这超出了此答案的范围 - 如果您好奇,请查看它。
推荐阅读
- amazon-web-services - 使用 Esp8266 ( aws ) 发出 Http 发布请求
- sql - 删除除一个以外的重复行
- c++ - 如何在c ++ mysql oracle vs17中返回时间,日期数据字段?
- python - 如何将交互式仪表板应用程序导出为 html 独立文件以将其嵌入您的网站?
- reactjs - 如何让地图显示?
- pine-script - 如何触发警报?
- r - 如何使用代理拆分获取由 rpart 估算的数据集
- flutter - Flutter 错误:无效参数:URI 文件中未指定主机:///null
- css - Select2 多选项目显示在输入字段之外,与其他字段重叠
- javascript - 反应原生 Picker 项目列表绑定与获取请求并选择项目