Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在.py文件的C语法错误行1中嵌入Python_Python_C - Fatal编程技术网

在.py文件的C语法错误行1中嵌入Python

在.py文件的C语法错误行1中嵌入Python,python,c,Python,C,我有以下几行代码: #include <Python.h> #include <stdio.h> int main(int argc, char *argv[]){ FILE * file; Py_Initialize(); file = fopen("LIFT_Head_move_to_Max.py","r"); PyRun_SimpleFile(file,"LIFT_Head_move_to_Max.py"); Py_Finali

我有以下几行代码:

#include <Python.h>
#include <stdio.h>

int main(int argc, char *argv[]){

   FILE * file;

   Py_Initialize();
   file = fopen("LIFT_Head_move_to_Max.py","r");
   PyRun_SimpleFile(file,"LIFT_Head_move_to_Max.py");

   Py_Finalize();
   return 0;
}
这里有什么问题吗?我尝试过在记事本++中编辑,并更改了编码,但同样的情况也发生了

我们对此也有同样的问题

谢谢

更新

.py文件的内容:

#LIFT_Head_move_to_Max
import serial
import struct

ser = serial.Serial(
   port='/dev/ttyS0',
   baudrate=115200,
   parity=serial.PARITY_NONE,
   stopbits=serial.STOPBITS_ONE,
   bytesize=serial.EIGHTBITS
)

print(ser.isOpen())

data="\x5A\x10\x10\x02\x40\x00"

ser.write(data)
ser.close()

我也有同样的问题。经过一些调试,我发现由于文件路径错误,我的文件*实际上为空。它抛出了令人困惑的语法错误:无效语法。也许你应该检查一下

欢迎来到堆栈溢出。请尽快阅读和页面,但更紧急的是,请阅读如何创建MCVE。请不要发布纯文本图片。真烦人。发布纯文本,就像它是代码一样。如果您不想突出显示任何语法,请在输出前的一行上下各加一空行。图像中没有显示.py文件中的文本。投票关闭:我们需要先查看LIFT\u Head\u move\u to\u Max.py的内容,然后才能开始诊断此问题。您能否显示py文件中的内容,因为这似乎是错误的来源,并且您在不同的目录中没有多个LIFT\u Head\u move\u to\u Max.py文件?如果在十六进制编辑器中打开该文件,是否正确?是否绝对确定.py文件没有异常编码?一个可能的问题源可能是RTF富文本格式,而不是纯文本。另一种可能是UTF-16,而不是UTF-8或8859-15或CP1252。验证这一点的一种方法是最多对文件32-64的前几个字节进行十六进制转储。由于您使用的是Notepad++,我怀疑您可能在Windows机器上,在这种情况下,我不确定最好的十六进制转储工具是什么。例如,在类似Unix的机器上,我建议使用od-c或xxd或类似的xxd-u-l 64-g 1 LIFT\u Head\u move\u to_Max.py。
#LIFT_Head_move_to_Max
import serial
import struct

ser = serial.Serial(
   port='/dev/ttyS0',
   baudrate=115200,
   parity=serial.PARITY_NONE,
   stopbits=serial.STOPBITS_ONE,
   bytesize=serial.EIGHTBITS
)

print(ser.isOpen())

data="\x5A\x10\x10\x02\x40\x00"

ser.write(data)
ser.close()