gpt4 book ai didi

python - 将 curl 命令从 google-colab 转换为 python 脚本

转载 作者:行者123 更新时间:2023-12-04 10:53:42 33 4
gpt4 key购买 nike

我有以下 google colab 代码:

代码 :

!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip

!unzip ngrok-stable-linux-amd64.zip

LOG_DIR = './log'
get_ipython().system_raw(
'tensorboard --logdir {} --host 0.0.0.0 --port 6006 &'
.format(LOG_DIR)
)

get_ipython().system_raw('./ngrok http 6006 &')
! curl -s http://localhost:4040/api/tunnels | python3 -c \
"import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

输出:
https://6a112ff8.ngrok.io

我的问题是如何将 curl pipe python 命令(最后 3 行)转换为 python 脚本?目前它正在 google colab 中执行。

我试图使用此代码接近解决方案:
import sys, json
import requests
from IPython import get_ipython


LOG_DIR = './log'

get_ipython().system_raw(
'tensorboard --logdir {} --host 0.0.0.0 --port 6006 &'
.format(LOG_DIR)
)

response = requests.get('http://localhost:4040/api/tunnels')
# result=json.load(response)
print(json.load(response)['tunnels'][0]['public_url'])

但是我收到一个错误:
AttributeError: 'NoneType' object has no attribute 'system_raw'

最佳答案

! curl -s http://localhost:4040/api/tunnels | python3 -c \
"import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

要在纯 python 中不使用 curl 执行此操作,您可以使用 requests 库和 json返回字典的响应对象的方法(在本例中为 r):
import requests
try:
r = requests.get('http://localhost:4040/api/tunnels')
d = r.json()
public_url = d['tunnels'][0]['public_url']
except Exception as e:
print ('Failed: ', e)

# Do something with `public_url`

关于python - 将 curl 命令从 google-colab 转换为 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59336142/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com