0

我需要在我安装的系统上部署 teamviewer(带有 raspbian 的树莓派 pi4)。

我需要简单一点,事实上我向我的客户发送了一个 USB 记忆棒,然后他们点击文件启动安装。

我不能去不同的网站。我想用python来部署

我的 Python 脚本:

#!/usr/bin/env python3

import subprocess
import os
import stat

st = os.stat('./team.sh')
os.chmod('./team.sh', st.st_mode | stat.S_IEXEC)
subprocess.call("./team.sh")

和我的 bash 脚本:

#!/bin/bash
sudo apt-get -y update;
sudo apt-get -y upgrade;
wget https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb;
ls | grep teamviewer-host_armhf.deb;
sudo dpkg -i teamviewer-host_armhf.deb;
sudo apt --fix-broken install;
sudo teamviewer passwd myspassword;
teamviewer info;

Bash 脚本完美运行。

但我对 Python 有疑问。当我运行它时,我得到

FileNotFoundError:[Errno 2] 没有这样的文件或目录:'team.sh'

我不明白,因为所有文件都在同一个目录中。

4

1 回答 1

0

您确定要从与其所在目录相同的目录运行 Python 脚本吗?

如果您的 Python 脚本与 bash 脚本位于同一目录中,则可以使用:

#!/usr/bin/env python3
import os
import pathlib
import subprocess
import stat

CURRENT_DIR = pathlib.Path(__file__).parent.resolve()  # parent path of the current file
EXECUTABLE = f"{CURRENT_DIR}/team.sh"

st = os.stat(EXECUTABLE)
os.chmod(EXECUTABLE, st.st_mode | stat.S_IEXEC)
subprocess.run(["bash", EXECUTABLE])
于 2021-09-03T13:43:17.233 回答