python - 如何在 python 中使用 bash 变量

标签 python linux bash

在 bash 中,我可以在 bash 中执行此操作IP=$(wget -qO- ipinfo.io/ip) 这会捕获我的公共(public) IP 并将其作为变量 $IP 存储在我的树莓派。 现在我想在 python 中捕获此变量,以便在 $IP 不等于 82.1x.xxx.xx 时打开连接到 GPIO 1 的 LED。 我是 python 的新手,所以我需要一些帮助,我对 python 知之甚少,但对 bash 非常了解。任何帮助或建议将不胜感激。

提前谢谢你。

最佳答案

你应该使用 os.environ字典。试试看:

>>> import os
>>> os.environ['IP'] 

>>> os.environ.get('IP')

来自文档:

操作系统环境

A mapping object representing the string environment. For example, environ['HOME'] is the pathname of your home directory (on some platforms), and is equivalent to getenv("HOME") in C.

奖励游戏

您可以仅使用纯 Python 从 http 响应中获取 IP,如下所示:

import urllib2
# that's really cool!
IP = urllib2.urlopen("http://ipinfo.io/ip").read().strip()

关于python - 如何在 python 中使用 bash 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007026/

相关文章:

python - 登录对话框 PyQt

python - 属性错误 : 'str' object has no attribute 'loads' , json.loads()

python - 使用 dataframe python 以矩阵格式显示列

python - 如何为 ttk.Combobox 设置浮雕?

linux - 如何使用 ssh 在 Linux 主机服务器上安装 Elastic Search

bash - sudo nohup nice <-- 顺序是什么?

python - 如何使用 sklearn 对少数因素和许多训练因素进行回归

linux - 为什么这个 inotifywait shellscript 使用两个 PID?

linux - 如何使用 bash 垂直组织变量中的单词?

linux - 如何用 awk/sed 替换字符串的第二个实例