EdgeX(3)开源边缘计算框架 EdgeX Foundry,项目代码下载,编写个python程序进行批量下载

前言


相关EdgeX Foundry 全部分类:
https://blog.csdn.net/freewebsys/category_9437788.html

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104219390

未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于EdgeX


git 项目地址:
https://github.com/edgexfoundry?utf8=%E2%9C%93&q=go&type=&language=

搜索了下 golang 的相关项目,发现工程文件超级多。
有 27 个,但是,有些是老项目,已经在 2017 2018 年之后就不更新了。并且也锁定了。
编写一个文本,然后让 python 读文本数据,再执行命令下载或者更新。

2,使用python,批量更新git项目


其中 edgex-all-go.txt 的内容:

edgex-go
device-sdk-go
edgex-ui-go
device-modbus-go
device-mqtt-go
go-mod-core-contracts
app-functions-sdk-go
go-mod-bootstrap
go-mod-registry
go-mod-messaging
device-camera-go
go-mod-secrets
device-virtual-go
device-rest-go
device-snmp-go
go-mod-configuration

然后通过脚步进行 更新或者下载:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# https://www.runoob.com/python/python-tutorial.html
# 其他相关的python 基础语法使用
import os
pwd = os.getcwd()
print(pwd)

def git_clone(line):
	tmp_dir = pwd + "/" + line
	print( tmp_dir )
	if os.path.isdir(tmp_dir) :
		shell = 'cd %s/%s && git pull ' % ( pwd , line )
		print(shell)
		output = os.popen(shell)
		print(output.read())
	else:	
		
		shell = 'cd %s && git clone https://github.com/edgexfoundry/%s.git' % ( pwd , line )
		print(shell)
		output = os.popen(shell)
		print(output.read())

# 打开文件,with 自动关闭
with open("edgex-all-go.txt", "r") as fo:
	print( "文件名为: ", fo.name )

	for line in fo.readlines():  #依次读取每行  
		line = line.strip()  #去掉每行头尾空白 
		
		print( "读取的数据为: %s" % (line) )
		git_clone( line )
		

效果:

.......
读取的数据为: device-camera-go
/media/test/NewDisk1/go/src/github.com/edgexfoundry/device-camera-go
cd /media/test/NewDisk1/go/src/github.com/edgexfoundry/device-camera-go && git pull 
已经是最新的。

读取的数据为: go-mod-secrets
/media/test/NewDisk1/go/src/github.com/edgexfoundry/go-mod-secrets
cd /media/test/NewDisk1/go/src/github.com/edgexfoundry/go-mod-secrets && git pull 
已经是最新的。

读取的数据为: device-virtual-go
/media/test/NewDisk1/go/src/github.com/edgexfoundry/device-virtual-go
cd /media/test/NewDisk1/go/src/github.com/edgexfoundry/device-virtual-go && git pull 
已经是最新的。

读取的数据为: device-rest-go
/media/test/NewDisk1/go/src/github.com/edgexfoundry/device-rest-go
cd /media/test/NewDisk1/go/src/github.com/edgexfoundry/device-rest-go && git pull 
已经是最新的。

读取的数据为: device-snmp-go
/media/test/NewDisk1/go/src/github.com/edgexfoundry/device-snmp-go
cd /media/test/NewDisk1/go/src/github.com/edgexfoundry/device-snmp-go && git pull 
已经是最新的。

.........

python 真方便。

3,总结


开源边缘计算框架 EdgeX Foundry,工程项目比较多。
有的时候 github 访问的比较慢,于是写脚步,在早晨或者晚上的时候下载。
批量下载 相关的golang 项目。python 语法超级简单,简单几行省去了不少麻烦。
同时 用shell 语法太怪异,其他语言又不如python 开发的快。还是python好。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104219390

博主地址是:https://blog.csdn.net/freewebsys

发布了639 篇原创文章 · 获赞 260 · 访问量 211万+

猜你喜欢

转载自blog.csdn.net/freewebsys/article/details/104219390