我使用nodejs的python shell包来激发python脚本,该脚本返回SyntaxError:无效语法。
Nodejs代码
const options = {
mode: 'text',
pythonPath: '/usr/bin/python3',
scriptPath: __dirname + '/script',
};
var pyshell = new PythonShell('test.py', options);
pyshell.send('hello');
pyshell.on('message', function (message) {
// received a message sent from the Python script (a simple "print" statement)
console.log(message);
});
// end the input stream and allow the process to exit
pyshell.end(function (err,code,signal) {
if (err) throw err;
console.log('The exit code was: ' + code);
console.log('The exit signal was: ' + signal);
console.log('finished');
});
Python脚本
print(f'test')
错误
PythonShellError: File "/app/src/back/script/test.py", line 1
print(f'meas')
^
SyntaxError: invalid syntax
如果我使用命令python3-test.py运行脚本,我会将单词"test"打印为exceed,但不会像我希望的那样使用python shell。我的python版本是3.8.10
这正是不支持f-string(3.5或更早版本(的旧版本Python所会出现的错误。
试着在你的系统上运行/usr/bin/python3
,看看它是什么版本