簡體   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