gpt4 book ai didi

python - 从python中的.ini文件读取特殊字 rune 本

转载 作者:行者123 更新时间:2023-12-04 13:36:41 25 4
gpt4 key购买 nike

我正在运行一个脚本,该脚本采用文本“rAh%19u^l\&G”,即其中包含所见的特殊字符。

当我在脚本中将此文本作为参数传递时,它运行良好,没有任何错误。

示例 - :./abc.py <username><pwd>
上面的文字基本上就是一个密码。

现在,当我将我的值放入配置文件并阅读上述文本时,脚本失败 .

*******abc.ini *******

[DEFAULT]
username = rahul
pwd = rAh%19u^l\&G

它说
/bin/sh:M command not found.

在配置解析器的帮助下读取上述值

******下面是程序abc.py ******
#! /usr/bin/python

parser = configparser.ConfigParser()
parser.read('abc.ini')
username = parser.get('DEFAULT','username')
pwd = parser.get('DEFAULT','pwd')


p = subprocess.Popen(
"abc.py {0} {1}" .format(username, pwd),
shell=True,
stdout=subprocess.PIPE
)

out, err = p.communicate()

print(out)

我尝试了很多搜索,但没有找到具体的内容。

所以问题是如何读取 .ini 文件中包含特殊字符的文本。

最佳答案

看起来像 %性格是这里的问题。如果您使用的是 ConfigParser 则具有特殊意义.如果您不使用插值,则只需使用 RawConfigParser相反,否则你必须逃避 %通过加倍。

当我使用 ConfigParser 尝试示例文件时它会吹,但有以下异常(exception):

InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%19u^l\\&G"'

如果我更换 ConfigParserRawConfigParser一切安好。

您发布的错误与此无关。我们甚至无法判断它是 python 异常还是 shell 错误消息。请使用完整的错误消息更新您的问题。您也可以 want to check the sh modulesubprocess 周围的更高级别的包装器.

关于python - 从python中的.ini文件读取特殊字 rune 本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47640354/

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