繁体   English   中英

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

[英]Is it possible to get the contents of a variable with read_text() in Python script?

测试.sh:

#!/bin/sh

hello="HELLO"
who="WORLD"
text="$hello $who"

测试.py:

import pathlib

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

我想在我的脚本 py 中获得“HELLO WORLD”

您可以在“test.sh”文件中添加echo $text ,然后使用以下命令捕获文件的 output:

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))

Output:

<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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM