V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  zhoudaiyu  ›  全部回复第 28 页 / 共 81 页
回复总数  1601
1 ... 24  25  26  27  28  29  30  31  32  33 ... 81  
2021 年 8 月 25 日
回复了 MiketsuSmasher 创建的主题 Python 如何把 Java properties 转换为具有层级结构的字典
@zhoudaiyu #25 为啥不支持 markdown....换下 gist....https://gist.github.com/BiTree/f21adc0e6ce67c18784690dfbaf15af8
2021 年 8 月 25 日
回复了 MiketsuSmasher 创建的主题 Python 如何把 Java properties 转换为具有层级结构的字典
Python 简单搞了一下,不支持这种不满足 json 定义的格式的,比如'java.vendor.url': 'https://openjdk.java.net/' 和 'java.vendor.url.bug': 'https://bugreport.java.com/bugreport/'
```py
import re
import json


ori = """{'java.class.version': '60.0',
'java.home': '/usr/lib/jvm/java-16-openjdk',
'java.runtime.name': 'OpenJDK Runtime Environment',
'java.runtime.version': '16.0.2+7',
'java.specification.name': 'Java Platform API Specification',
'java.specification.vendor': 'Oracle Corporation',
'java.specification.version': '16',
'java.vendor.url.bug.b': 'https://bugreport.java.com/bugreport/',
'java.version.date': '2021-07-20',
'java.vm.name': 'OpenJDK 64-Bit Server VM',
'java.vm.specification.name': 'Java Virtual Machine Specification',
'java.vm.specification.vendor': 'Oracle Corporation',
'java.vm.specification.version': '16',
'java.vm.vendor': 'Oracle Corporation',
'java.vm.version': '16.0.2+7',
'sun.arch.data.model': '64'}"""


prop_regex = re.compile("'(?P<key>.*)':\s*'(?P<value>.*)'\s*")


def dict_filter(dic: dict, _str: str) -> dict:
ret_dict = dict()
for k in dic.keys():
if k != _str:
ret_dict[k] = dic[k]
return ret_dict


def get_deepest_dict(dic: dict, keys: list) -> dict:
_dic = dict()
_dic = dic
for i in keys:
_dic = _dic[i]
return _dic


def prop2json_converter(src_str: str) -> str:
"""
Convert property string to json string.
:param src_str: source property string
:return: a wrapped json string
"""
try:
_dict = dict()
ret_dict = dict()
for ln in src_str.split("\n"):
matched_k_v = prop_regex.search(ln)
if matched_k_v:
_dict[matched_k_v.groupdict().get("key")] = matched_k_v.groupdict().get("value")
for k, v in _dict.items():
for cnt, kk in enumerate(k.split(".")):
_l = k.split(".")[:cnt]
if cnt != len(k.split(".")) - 1:
if not _l:
ret_dict.setdefault(kk, dict())
else:
_r = get_deepest_dict(ret_dict, _l)
_r.setdefault(kk, dict())

else:
if not _l:
ret_dict.setdefault(kk, v)
else:
_r = get_deepest_dict(ret_dict, _l)
_r[kk] = v

except (TypeError, AttributeError):
return json.dumps({"data": None, "err": "Invalid input string"}, ensure_ascii=False, indent=4)
return json.dumps({"data": ret_dict, "err": ""}, ensure_ascii=False, indent=4)


if __name__ == '__main__':
print(prop2json_converter(ori))
@billlee #8 但是防火墙为什么要返回 ICMP 的响应而不是通过发送 RST 呢
@billlee 抱歉抱歉,我搞错了,刚才脑子不清醒,确实是 RST
@billlee TCP 是 Connection Refused
@xiaopc 就是 TCP 层没有字段表示端口不可达,而低一层的 IP 层可以通过 ICMP 协议可以表示不可达,所以就让 ICMP 代劳了?
@xiaopc #1 我的理解 ICMP 只管包从 A 是否路由到了 B,不管上层协议啊
2021 年 8 月 24 日
回复了 MiketsuSmasher 创建的主题 Python 如何把 Java properties 转换为具有层级结构的字典
@dongfangshangren #12
@RRRoger #16
@misaka19000 #7 我可能太菜了,用 python 写了 1 个小时都没写出来😂
2021 年 8 月 24 日
回复了 shm7 创建的主题 生活 夏天过快过去了,西瓜的预算快要花不完了
买瓜皮子和瓜粒子都是金子做的生瓜蛋子🐶
2021 年 8 月 24 日
回复了 shangwuli 创建的主题 Linux Linux 运维,真的很累吗?
运维本身没啥累的,主要是乱七八糟的事比较多,还得应付开发甩过来的锅
2021 年 8 月 23 日
回复了 zhoudaiyu 创建的主题 Linux extX(X=2,3,4)等文件系统的数据盘也需要预留 5%的空间吗?
@jim9606 看来对 ssh 倒是没啥影响
2021 年 8 月 22 日
回复了 zhoudaiyu 创建的主题 Linux extX(X=2,3,4)等文件系统的数据盘也需要预留 5%的空间吗?
@Remember 我是小弟,我说不好使啊
街舞,popping
2021 年 8 月 20 日
回复了 zhoudaiyu 创建的主题 Linux extX(X=2,3,4)等文件系统的数据盘也需要预留 5%的空间吗?
@heyjei #1 太感谢了,看来是没啥事,大哥你是咋搜到的啊
@privil #2 感谢,看了 1 楼大哥的回答,看来是没什么影响
2021 年 8 月 20 日
回复了 zhoudaiyu 创建的主题 问与答 关于 Mac 数据备份的问题想请教一下大家
@efcndi #1
@Xusually #2 其实我是要离职了,然后备份一下公司的 Mac...也就备份这一次
2021 年 8 月 19 日
回复了 vzyw 创建的主题 程序员 大家来推荐几本对职业生涯影响较大的技术书籍
@xzysaber 我们线上环境内核太低了,没法玩 BPF :( 不过感谢推荐 :)
2021 年 8 月 18 日
回复了 zhoudaiyu 创建的主题 程序员 怎么能用更舒服的方式看比较厚的实体书?
@jorneyr #11 举着书读太累了,当然比较薄的除外
2021 年 8 月 18 日
回复了 zhoudaiyu 创建的主题 程序员 怎么能用更舒服的方式看比较厚的实体书?
@bomb77 #9 是时候入手了!
2021 年 8 月 17 日
回复了 zhaorunze 创建的主题 阅读 大家来推荐一本对你思想观念影响最大的一本书
@KousukeSakurako 小逻辑看不懂,每个字都看得懂,连在一起就看不懂了
2021 年 8 月 16 日
回复了 vzyw 创建的主题 程序员 大家来推荐几本对职业生涯影响较大的技术书籍
运维向:
1 、Kubernetes in Action (顾名思义,讲 K8S 的,深入浅出,没有生硬的感觉,我的 K8S 入门书。马上出第二版了)
2 、Systems Performance - Enterprise and the Cloud (讲了一些 Linux 下的性能调优的,还有一些监控工具的,很不错)
3 、Fluent Python ( Python 进阶了,当初刚做运维学了几个月 Python 我就飘了,然后看了这本书仿佛觉得我学了假的 Python,第二本的英文版已经可以在 Safari 上看了)
4 、Wireshark 网络分析就这么简单(运维不懂网络有点说不过去了,这本书直接从例子入手讲一些网络的知识,推荐)
1 ... 24  25  26  27  28  29  30  31  32  33 ... 81  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1309 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 62ms · UTC 23:54 · PVG 07:54 · LAX 16:54 · JFK 19:54
♥ Do have faith in what you're doing.