小编ale*_*pov的帖子

如何在c ++代码中捕获python stdout

我有一个程序,在它运行期间有时需要调用python来执行某些任务.我需要一个调用python并捕获pythons stdout并将其放入某个文件的函数.这是函数的声明

  pythonCallBackFunc(const char* pythonInput)
Run Code Online (Sandbox Code Playgroud)

我的问题是捕获给定命令(pythonInput)的所有python输出.我没有python API的经验,我不知道什么是正确的技术来做到这一点.我尝试过的第一件事是使用Py_run_SimpleString重定向python的sdtout和stderr,这是我编写的代码的一些例子.

#include "boost\python.hpp"
#include <iostream>

void pythonCallBackFunc(const char* inputStr){   

    PyRun_SimpleString(inputStr); 
}


int main () {
    ...
   //S0me outside functions does this
   Py_Initialize();
   PyRun_SimpleString("import sys");
   PyRun_SimpleString("old_stdout = sys.stdout");
   PyRun_SimpleString("fsock = open('python_out.log','a')");
   PyRun_SimpleString("sys.stdout = fsock");
   ...

   //my func   
   pythonCallBackFunc("print 'HAHAHAHAHA'");
   pythonCallBackFunc("result = 5");
   pythonCallBackFunc("print result");

   pythonCallBackFunc("result = 'Hello '+'World!'");
   pythonCallBackFunc("print result");

   pythonCallBackFunc("'KUKU '+'KAKA'");
   pythonCallBackFunc("5**3");

   pythonCallBackFunc("prinhghult");

   pythonCallBackFunc("execfile('stdout_close.py')");
   ... 

   //Again anothers function code
   PyRun_SimpleString("sys.stdout = old_stdout");
   PyRun_SimpleString("fsock.close()");

   Py_Finalize();
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?此外,由于某种原因PyRun_SimpleString在得到一些数学表达式时什么都不做,例如PyRun_SimpleString("5**3")什么都不打印(python …

c++ python redirect python-embedding python-c-api

25
推荐指数
3
解决办法
1万
查看次数

在中国使用Firebase身份验证和Firestore

使用Firebase堆栈进行Chrome扩展:)但是,有一个很大的问题.

位于中国的用户无法使用该应用程序,因为谷歌被阻止,因此Firebase身份验证失败......好吧,一个选择是使用VPN,但就用户体验而言,这是一个很大的否否......有没有更好的方法来解决/解决此问题

主要使用firebase auth(Google提供商)和Firestore

可以使用某种方式自定义令牌来解决这个问题? https://firebase.google.com/docs/auth/admin/create-custom-tokens

或者外部身份验证服务与firebase结合使用,在这种情况下,还需要对firestore进行身份验证访问

firebase firebase-authentication google-cloud-firestore

15
推荐指数
1
解决办法
1870
查看次数

Iphone上的OpenGl ES - 显示和旋转3D对象

我是Iphone,Xcode和openGL ES的新手.

我正在寻找一个源代码示例,它演示了如何创建3d对象,使用手势旋转并放大,缩小...

谢谢,亚历克斯

iphone opengl-es ios4 xcode4

5
推荐指数
1
解决办法
3015
查看次数

在OpenGL es(Iphone)中使用顶点缓冲对象(VBO)来提高性能

我正在为iphone写一个简单的应用程序,它显示一个旋转的立方体.我正在使用glDrawElements(openGl es)来绘制立方体的三角形并旋转它.我注意到当我将立方体的大小增加到100*100*100体素时,显示性能变差(澄清:我不绘制整个立方体,我只绘制它的轮廓(网格).我得到了所有的三角形网格通过在立方体上应用行进立方体算法...最终我得到像120k三角形绘制的东西,由40k顶点表示)...

要绘制立方体,我会保留一个顶点数组,颜色数组和一个数组(如果索引到顶点).indices数组定义要绘制的顶点的三角形.它作为参数传递给glDrawElements.

最近我对使用顶点缓冲对象(VBO)绘制立方体的不同技术有所了解.我已经实现了它,但性能甚至比以前的技术更糟糕

这是我的代码,也许我做了一个愚蠢的错误,任何改进建议都会很受欢迎:)

顺便说一句,我使用以下文章作为参考:

http://playcontrol.net/ewing/jibberjabber/opengl_vertex_buffer_object.html http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html

//all the 7 variables down are initialized by other function at the beginning 
GLushort* meshIndices;    //array of indices (ushort)
MeshVertex* meshVertices; //array of vertices (floats)
Color3D* meshColors;      //array of colors  (floats)

int numberOfTriangles; //number of Triangle to draw the cube
int numberOfVertices;  //number of all Vertices to draw the cube
int numberOfIndices;   //number of all Indices to draw the cube, each 3 indices define 3 vertices which define 1 triangle
int numberOfColors; …
Run Code Online (Sandbox Code Playgroud)

performance opengl-es objective-c vbo ios4

5
推荐指数
1
解决办法
2601
查看次数

Eclipse:如何使用重构工具将attr从公共更改为私有

例如:

 public class Person {

    public final int age;
   }
Run Code Online (Sandbox Code Playgroud)

在eclipse中是否有办法执行以下自动\半自动(通过使用重构工具)

1)将年龄的可见度从公共变为私人.

2)添加年龄的吸气剂

3)代码中的每个地方都改变*.age到*.get_age()(*= person类的实例)

并且我不寻找找到\替换解决方案...... :)

java eclipse refactoring

3
推荐指数
1
解决办法
1630
查看次数

如何使用 Joi 验证映射对象(映射键和映射值)

例如有下面这张地图:

keys = type string, 5 characters long
values = type number
Run Code Online (Sandbox Code Playgroud)

例子:

test = {
   "abcde": 1
   "12345": 2
   "ddddd": 3
}
Run Code Online (Sandbox Code Playgroud)

如何编写 Joi 方案来验证键是 5 个字符的字符串类型,值是数字类型

javascript joi

3
推荐指数
1
解决办法
5001
查看次数

在C++中嵌入Python - 从C++程序运行Python

谢谢你们快速回复:)我想我理解你的建议,但这不是我需要的.说实话,我不知道什么是正确的技术来做我需要的.

我有一个程序,在它运行期间有时需要调用python来执行某些任务.我需要一个调用python并捕获pythons stdout的函数

          pythonCallBackFunc(const char* pythonInput)
Run Code Online (Sandbox Code Playgroud)

此功能是执行此操作的功能.

例如:

     pythonCallBackFunc("5**2") needs to print on stdin(or some other file): 
     PythonResult: 25
     pythonCallBackFunc("print 5**2") needs to print on stdin(or some other file): 
     PythonResult: 25
     pythonCallBackFunc("'a'+'b'") needs to print on stdin(or some other file):
     PythonResult: 'ab' 
     pythonCallBackFunc("print 'a'+'b'") needs to print on stdin(or some other file):
     PythonResult: ab 
     pythonCallBackFunc("execfile('temp.py')")
     it should print nothing but is needs to run the temp.py script

     the next 2 calls need to print the value of result, meaning 4. …
Run Code Online (Sandbox Code Playgroud)

c++ python embed

2
推荐指数
1
解决办法
1704
查看次数

antd 表,禁用列的未排序选项(强制排序)

要对列启用排序,请使用sortDirections带有 value 的参数['ascend', 'descend']。通过此设置,有 3 个排序选项:“升序”、“降序”、“未排序”。

有没有一种简单的方法来强制排序,删除未排序的选项?

例如:

给定未排序数字的列表 [1, 5 ,2 ,10] 。目前,我可以设置sortDirectionsvalue ['ascend', 'descend']。这将提供 3 个选项,按升序排序、按降序排序和未排序,例如与原始数字相同。

期望的行为:

我想强制排序,这意味着我不希望“未排序”选项可用。如果用户单击列标题,则整个列应按升序或降序排序。

reactjs antd

1
推荐指数
1
解决办法
6435
查看次数