b'10.0.3.15'
'10.0.3.15'
python字符串前面的b前缀是什么意思?解释'b'的意思,但不回答这个问题。
当然,这个问题的有效答案将被表决为已解决。
从shell可以使用复杂语句查找我的IP地址:
ip addr show eth0 | awk '$1 == "inet" {gsub(/\/.*$/, "", $2); print $2}'
现在我希望这个语句,或者任何语句,在Python中执行。因为该语句具有各种特定的标记,所以我只需写入文件,并将文件读入变量cmd
我检查了cmd
的内容与上面的语句完全相同。现在我用Python执行这个命令:
p = subprocess.Popen(cmd, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
b = p.communicate()
结果是一个元组,我只需要内容:
value = b[0]
在格式规范迷你语言中,我看到'b'是一种表示二进制的类型。
我只需要“10.0.3.15”
。如何实现?
使用out,_=p.communication()
。则输出将作为字符串保存在变量out
中。删除\n
。您可以使用strip()
(例如out.strip()
)。
import subprocess
device = 'em1'
cmd = "ip addr show %s | awk '$1 == \"inet\" {gsub(/\/.*$/, \"\", $2); print $2}'" % device
p = subprocess.Popen(cmd, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
out, _ = p.communicate()
print(out.strip())
但是您应该看看Python模块netifaces。
import netifaces
device = 'em1'
print(netifaces.ifaddresses(device)[netifaces.AF_INET])
这将输出如下所示的内容:
[{'broadcast': '192.168.23.255', 'netmask': '255.255.255.0', 'addr': '192.168.23.110'}]
问题内容: 我有一列datetime类型,我只想从中检索日期。反正有这样做吗? 以前它是一个纪元值,我将其转换为datetime。 这是一个示例结果: 我尝试了以下命令,但结果为负/零 问题答案: 您可以使用DATE函数。 例子 您只能通过strftime获得一天,
问题内容: 我 没有 使用或没有任何依赖关系,我现在已经完全将其设为本机,但是在此行尝试传递额外内容时遇到了问题: mRootDatabase = getAdapter(mContext).getItem(position); 必需的数据库参考,找到了UserPojo 在你可以使用在为了做到这一点快,但即时知道如何处理同没有它,因为我的应用程序不会有实现的任何FirebaseAdapters,我不
直接从HDFS读取文件,而不将其复制到本地文件系统。不过,我将结果复制到本地文件系统。 hduser@ubuntu:/usr/local/hadoop$mkdir/tmp/gutenberg-output bin/hadoop dfs-getmerge/user/hduser/gutenberg-output/tmp/gutenberg-output deprecated:不推荐使用此脚本执行hd
问题内容: 我有以下代码,用于使用JSoup在Java中解析HTML。 问题是我只能检索首页搜索结果链接。我应该怎么做才能从Google搜索结果的其余页面获得链接。 问题答案: 如果要从第二页获得结果,请添加到URL。对于第三页使用,依此类推。
我想通过调用来映射列表中的每个条目,它返回多个条目,然后将结果作为列表收集。 如果没有溪流,我会这样做: 我如何用流来完成这件事呢?这将给出一个编译错误:
我正在创建一个社交应用,当有人上传帖子时,他们上传帖子的时间也会被上传。 我想得到上传的日期和时间,并以适当的形式向用户展示。例如,如果它是在2小时前上传的,它会显示2小时,而不是上传的整个日期和时间或上传日期的时间戳。那么我该如何展示它,哪一个最简单? 此代码: 我得到了这个错误: java.lang.NullPointerExctive:尝试调用虚方法java.lang.Stringcom.e