gpt4 book ai didi

python - 使用 json.loads()/Python 时忽略引号中的逗号?

转载 作者:行者123 更新时间:2023-12-01 08:55:27 26 4
gpt4 key购买 nike

当前使用以下命令:

python foo.py "['A,B,C,D','A,B,C','A,B','A']"

我想将其转换为实际的字符串数组:

A[0] = 'A,B,C,D'
A[1] = 'A,B,C'
A[2] = 'A,B'
A[3] = 'A'

目前,我一直在尝试使用json.loads()sys将字符串读入对象或列表。

但是,单引号的存在似乎会导致以下错误。

ValueError: No JSON object could be decoded

但是,如果没有单引号,我最终会得到数组:

B = ["A","B","C","D","A","B","C","A","B","A"]

如何让 Python 忽略内部逗号,同时跟踪外部逗号,以便生成 A 中给出的字符串数组如上所示?

最佳答案

您可以使用ast.literal_eval到...

Safely evaluate an expression node or a string containing a Python expression. The string or node provided may only consist of the following Python literal structures: strings, bytes, numbers, tuples, lists, dicts, sets, booleans, and None.

>>> from ast import literal_eval
>>> literal_eval("['A,B,C,D','A,B,C','A,B','A']")
['A,B,C,D', 'A,B,C', 'A,B', 'A']

关于python - 使用 json.loads()/Python 时忽略引号中的逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52802227/

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