我有一个名为的文件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)