一日两计:各种符号转数字与快速获取 IP

网络 通信技术
在服务器上,有些脚本在运行的时候,需要传入它所在服务器的 IP 地址。但这些脚本具体运行在哪个服务器上,这是由 K8S 这类的东西管理的,我们提前不知道脚本会运行在哪个服务器上,所以不能提前设置。

[[373941]]

今天我们来看两个很有用的小技巧。

奇形怪状的数字转阿拉伯数字

我们知道,在某些场景下面,有些人会使用各种奇奇怪怪的符号来表示数字。例如有些人写自己的 QQ 号,是这样写的:

加扣:五⑦捌二3玖

对于这种奇奇怪怪的数字,如果我们想要批量转化为数字,可能要提前创建一个字典来映射:

  1. {'一': 1, '二': 2, '三': 3, ...} 

显然,这样写起来非常麻烦。那么有没有什么办法来解决这个问题呢?实际上 Python 是认识这些表示数字的符号的,我们不需要提前设置任何映射,Python 自动就能转换。例如:

  1. from unicodedata import numeric 
  2. print(numeric('五')) 
  3. print(numeric('⑦')) 

运行效果如下图所示:

所以,对于上面这种特殊的数字,我们可以很容易地转换成阿拉伯数字:

  1. from unicodedata import numeric 
  2.  
  3. data = '五⑦捌二3玖' 
  4. result = 0 
  5. for char in data: 
  6.     result = 10 * result + int(numeric(char)) 
  7.  
  8. print(result) 

Linux 如何快速获取本机 IP 字符串

在服务器上,有些脚本在运行的时候,需要传入它所在服务器的 IP 地址。但这些脚本具体运行在哪个服务器上,这是由 K8S 这类的东西管理的,我们提前不知道脚本会运行在哪个服务器上,所以不能提前设置。

如果你的脚本是 Python 开发的,那么显然你可以直接在 Python 里面获得当前服务器的 IP 地址。但不是所有编程语言都像 Python 这么方便。而且有时候你是通过.sh文件来调用开源项目。

所以,如何使用shell 命令获取 IP 地址呢?

老版本的 Ubuntu 可以使用ifconfig命令查看当前 IP,如下图所示:

新版本的 Ubuntu 可以使用ip addr,如下图所示:

无论是哪种方法,如何把其中的 IP 地址提取出来呢?这个时候我们可以使用grep配合awk实现。大家可以试一试,如何写才能把其中的10.0.0.4。

但实际上,我们有一种更简单的方法:

  1. hostname -i 

运行效果如下图所示:

本文转载自微信公众号「未闻Code」,可以通过以下二维码关注。转载本文请联系未闻Code公众号。

 

责任编辑:武晓燕 来源: 未闻Code
相关推荐

2022-03-07 09:14:04

Selenium鼠标元素

2020-12-09 05:23:23

Pandas Docker技巧

2021-07-08 21:49:13

前端后端Cookies

2023-09-06 00:15:04

Pandas技巧格式

2024-04-08 00:00:02

setup技巧Pypi

2021-06-01 21:24:44

多线程代码搜索

2021-08-13 07:56:13

MongoDBScrapy元素

2009-09-09 23:05:52

Ubuntu活动日

2021-04-27 22:15:02

Selenium浏览器爬虫

2021-10-15 21:08:31

PandasExcel对象

2021-04-12 21:19:01

PythonMakefile项目

2011-09-26 09:54:40

perl获取本机ip

2023-10-28 12:14:35

爬虫JavaScriptObject

2021-09-13 20:38:47

Python链式调用

2024-07-30 08:16:18

Python代码工具

2022-06-28 09:31:44

LinuxmacOS系统

2021-03-12 21:19:15

Python链式调用

2021-04-19 23:29:44

MakefilemacOSLinux

2024-11-13 09:18:09

2021-04-05 14:47:55

Python多线程事件监控
点赞
收藏

51CTO技术栈公众号