我正在从事游戏项目。我使用python 2.7.2编写脚本。我的应用程序在非Unicode路径下可以正常工作。但是它不能使用Unicode路径加载脚本
boost::python::import(import_path.c_str());
我试过这个例子
5.3。纯嵌入http://docs.python.org/extending/embedding.html#embedding-python-in-c
它也不能处理unicode路径。我将python链接为dll。
请向我解释如何处理这样的路径。
最佳答案
boost::python::import
需要一个std::string
,因此import_path
可能会丢失某些字符。
您必须在多个平台上工作吗?在Windows上,您可以调用GetShortPathName检索8.3文件名,并使用该文件名加载dll。
您可以进行快速测试:
dir /x *.pyd
以获取短文件名(我的计算机上为JAIDJT〜1.PYD)+上面的文件名,如果法语为“我已经测试过,但我不喜欢它”。这是押韵的韵律,使它无法处理Unicode;)
关于c++ - Boost-Python:使用路径中的Unicode字符加载python模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9099439/