从另一个脚本执行 python 文件

从另一个脚本执行 python 文件

我有一个名为的文件main.py,其中包含以下代码:

from os import system
from time import sleep
from datetime import datetime

while True:
    print(datetime.now(),"-+- Starting")
    system('file.py')
    print(datetime.now(),"-+- Crash")
    sleep(300)

但是,如果我尝试使用 shell 执行它,python3 main.py则会收到以下错误:

sh: 1: file.py: not found
^CTraceback (most recent call last):
  File "main.py", line 14, in <module>
    sleep(300)  # sleep for 5 minutes

file.py以及main.py都位于 下的同一目录中/home/username/Documents/py-script/

我甚至改为system('file.py')下面这一行,但仍然无法执行file.py

system('/home/username/Documents/py-script/file.py')

该程序在 Windows 上运行良好,我需要采取其他步骤才能使其在我的 Ubuntu 桌面(不是 VM)上运行。我也为这两个文件分配了 744。

答案1

您需要将 shebang 行(#!解释器)添加到'file.py'

#!/usr/bin/python#!/usr/bin/env python- 这将指示使用 python 执行文件。还要确保文件具有足够的执行权限。

或者

你应该用 python 前缀来调用该程序

from os import system
from time import sleep
from datetime import datetime

while True:
    print(datetime.now(),"-+- Starting")
    system('python file.py')
    print(datetime.now(),"-+- Crash")
    sleep(300)

相关内容