使用python打开一个shell文件并替换其中的sting

2024-10-05 17:47:25 发布

您现在位置:Python中文网/ 问答频道 /正文

在这里,我使用ssh将shell脚本从系统传输到raspberry pi,并在Rpi上运行脚本

python3 paswd.py |  scp replace.py  pi@192.168.1.$i:
python3 paswd.py |ssh -tt pi@192.168.1.$i 'chmod u+x ~/'replace.py' && exit'

这会发生,并且不会显示任何错误

替换.py


def replace():
    fout=open("launch.sh","rt")
    for line in fout:
        fout.close
        fout=open("launch.sh","wt")
        fout.write(line.replace('chromium-browser','chromium-browser --kiosk '))
    fout.close
replace()

launch.sh

echo "connected, launching browser"
chromium-browser & disown

在执行replace.py之后,如果我没有得到所需的结果,我会得到一个空的launch.sh或根本没有任何更改。如前所述,它没有显示错误。请让我知道我的错误在哪里。saame代码对于.txt文件非常有效,它用“chromium browser--kiosk”替换了“chromium browser”,但在.sh文件中我没有得到它

谢谢你的帮助


Tags: pybrowser脚本sh错误linepiopen
1条回答
网友
1楼 · 发布于 2024-10-05 17:47:25

这会解决你的问题

def replace():
    file_path = "launch.sh"
    find = "chromium-browser"
    replacement = "chromium-browser  kiosk"

    with open(file_path) as f:
        s = f.read()
    s = s.replace(find, replacement)
    with open(file_path, "w") as f:
        f.write(s)

replace()

相关问题 更多 >