Sim*_*sov 2 python ssh shell paramiko
我有一个函数来检查文件是否存在,它返回'True'
/ 'False'
,现在我正在将它“转换”为 bool eval()
,但是我认为这不是最聪明的解决方案,但我不知道该怎么做它没有不必要的ifs
,
>>> foo = 'False'
>>> type(eval(foo))
<class 'bool'>
>>> type(foo)
<class 'str'>
Run Code Online (Sandbox Code Playgroud)
例如,我在 ssh 连接的机器上运行这个表达式
"test -e {0} && echo True || echo False".format(self.repo)
Run Code Online (Sandbox Code Playgroud)
像这样,我的结果将是字符串。
def execute(command):
(_, stdOut, _) = ssh.exec_command(command)
output = stdOut.read()
return output.decode('utf-8')
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以实现这一目标?
您可以使用ast.literal_eval()
. 这比eval()
因为它只计算文字而不是任意表达式更安全。
归档时间: |
|
查看次数: |
642 次 |
最近记录: |