【发布时间】:2014-09-19 04:56:49
【问题描述】:
我正在尝试从 Python 脚本调用 C 可执行文件。显然,我的 C 代码在开始时有“#include”,这就是我从 Python 调用 C 可执行文件时出错的原因。我使用 subprocess.call 来调用可执行文件,如下所示:
>>> subprocess.call([sys.executable,"motor_control","50","1","50","1"])
我收到以下错误:
File "motor_control", line 1
SyntaxError: Non-ASCII character '\xdd' in file motor_control on line
2, but no encoding declared; see
http://www.python.org/peps/pep-0263.html for details 1
第 1 行、第 2 行等都有 '#include'。 Motor_control 是可执行文件,它具有数字参数 50、1、50、1。我从终端运行 motor_control,它运行良好。我用谷歌搜索了很多,但大多数类似的错误是针对其他非 ascii 字符的,我没有找到任何与 '\xdd' 相关的答案,这是 '#include' 的主题标签。这意味着没有人在#include 处出错,这意味着我错过了一些非常基本的东西。但我不确定是什么。
这里有一些其他的答案,例如: SyntaxError of Non-ASCII character 提到添加
# -*- coding: utf-8 -*-
到 python 脚本的开头,但这对我不起作用。添加
#!/usr/bin/python
也没有工作,正如其他人提到的那样。
我在 PCduino 上运行此代码(C 代码在 c_environment 中为 pcduino 执行(对此的帮助是 here))。 Python 和 C 独立地在这个硬件上运行良好。 调用具有 # 的 C 代码时,我需要做些什么不同的事情吗?
提前致谢
【问题讨论】:
标签: python non-ascii-characters