在 GNU Octave 中执行 Python 文件

Execute a Python file in GNU Octave

我在 GNU Octave 中将代码写入 运行 一个 python 文件。这是代码部分。

[output,status]=python('customers.py');
output
status

但是当执行该代码时,出现这样的错误。

'python' is not recognized as an internal or external command,
operable program or batch file.
output =
status =  1

我不明白为什么会出现这样的错误。 python 文件也在同一目录中。 这是 python 代码:

# Import sys module
import sys

# Total number of arguments
print('Total arguments:', len(sys.argv))

#print("Argument values are:")
# Iterate command-line arguments using for loop
#for i in sys.argv:
  #print(i)

# Define a dictionary
customers = {'9876':'Kamal Perera','9873':'Amal Fernando',
'9865':'Vimal Gunasena','9843':'Chamal Sirisena', '9862':'Dumal Zoysa',
'9831':'Nimal Walpola'}

#print("The customer names are:")
# Print the values of the dictionary
#for customer in customers:
    #print(customers[customer])

# Take customer ID as input to search
print("Search customer ID:",sys.argv[1])
name = sys.argv[1]
# Search the ID in the dictionary
for customer in customers:
    if customer == name:
        print(customers[customer])
        break

如何解决这个问题?

python 命令实际上是 system 命令的包装器,它会为您调用操作系统的 python 命令。

如果系统的 python 可执行文件不在系统 PATH 上,那么显然 Octave 将无法找到它。

从错误判断我猜你在 windows?在这种情况下,请查看如何将 python 添加到 windows.

中的 PATH

(例如,这是来自 duckduckgo 搜索的随机第一个 link:https://datatofish.com/add-python-to-windows-path/

或者,您可以使用 getenv("PATH") 检查您当前的系统路径,并从八度内修改它以将该字符串与 python 可执行文件目录连接起来,然后使用 setenv("PATH")