是否可以在Python脚本中使用read_text()获取变量的内容



test.sh:

#!/bin/sh
hello="HELLO"
who="WORLD"
text="$hello $who"

test.py:

import pathlib
content = pathlib.Path('test.sh').read_text()
print(content)

我想得到";HELLO WORLD";在我的脚本py 中

您可以在"test.sh"文件中添加echo $text然后使用捕获文件的输出

import subprocess
subprocess.run(['./test.sh'], capture_output=True)

您可以使用正则表达式,因为content是一个字符串变量:

import pathlib
import re
content = pathlib.Path('test.sh').read_text()
print(re.search('text="(.+?)"', content))

输出:

<re.Match object; span=(37, 55), match='text="$hello $who"'>

要获得确切的text值,可以对字符串进行切片:

import pathlib
import re
content = pathlib.Path('test.sh').read_text()
v = re.search('text="(.+?)"', content)
print(v[0][6:-1])

结果:

$hello $who

相关内容

  • 没有找到相关文章

最新更新