如何在c#中执行并返回python脚本的结果?
如何在C#? 中执行并返回Python脚本的结果 我试图从控制器中运行Python脚本. 我在使用virtualenv命令创建的虚拟环境文件夹中具有python.exe设置. 因此,仅用于测试目的,我想从我的phython脚本中返回产生的字符串: # myscript.py print "test" 并在我的ASP.NET MVC App中的视图中显示. 我从相关的 stackoverflow问题中获得了run_cmd函数. 我尝试添加-i选项以强制交互式模式和呼叫process.waitforexit()没有运气. namespace NpApp.Controllers { public class HomeController : Controller { public ActionResult Index(string returnUrl) { ViewBag.Return
0 2024-04-25
编程技术问答社区
如何仅按照添加客户端的顺序向其他客户端发送信息?
服务器启动时,假设添加了三个客户端.当客户端尝试发送消息时,它将起作用,并且类似地client2 and Client3,但是当此序列断裂(如假设客户端)中添加了a,b和c的序列时出现问题,如果b或c试图向他人发送消息,怪异发生了. 我的猜测是Thread2的目标函数,即handle_messages无法正常运行 解决方案 更改创建线程的方法,解决此问题.
10 2024-04-23
编程技术问答社区
python-messaging 处理 HTTP 请求失败
我正在使用下面的代码尝试使用python-messaging发送MMS消息 https://github.com/pmarti/python-messaging/blob/master/master/doc/tutorial/mms.rst 尽管连接似乎顺利进行,但我从MMSC: PROXY RESPONSE HTTP/1.0 200 OK content-type: application/vnd.wap.mms-message content-length: 59 Connection: close Date: Sat, 05 Jan 2019 16:36:44 GMT Server: Mavenir Web Application Server ���1234�����,�Failed to handle HTTP request in Mm1Server 是否有人知道问题可能是什么以及如何解决问题?这是我的代码: from messaging.mms.messa
12 2024-04-22
编程技术问答社区
点击 matplotlib widget 中的按钮时提取/打印滑块值 (Python 2.7)
我正在使用模板用于matplotlib滑块小部件.我正在使用import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider, Button, RadioButtons ax = plt.subplot(111) plt.subplots_adjust(left=0.25, bottom=0.25) t = np.arange(0.0, 1.0, 0.001) a0 = 5 f0 = 3 s = a0*np.sin(2*np.pi*f0*t) l, = plt.plot(t,s, lw=2, color='red') plt.axis([0, 1, -10, 10]) axcolor = 'lightgoldenrodyellow' axfreq = plt.axes([0.25, 0.1, 0.65, 0.03], axisbg=axcolor) axamp = plt.ax
16 2024-04-22
编程技术问答社区
http://rept.it 上的 Python sleep() 命令出错
我正在研究一个涉及sleep()命令(运行2.7.2)的项目,并且正在投掷我从未见过的错误.这是我写的一个测试脚本: from time import sleep print '1' sleep(2) print '2' 它返回: >> 1 >> Internal error: ReferenceError: _select is not defined 任何帮助都将受到赞赏 解决方案 time.sleep()如果可用,则使用select.由于某种原因,当您的Python构建时定义了HAVE_SELECT,但现在找不到图书馆. 来自 docs ... 另一方面,时间()和sleep()更好 比它们的unix等效物:时间表示为浮点 数字,time()返回最准确的时间(使用unix getTimeofday()在可用的地方),然后sleep()将接受时间 非零分数(使用unix select()用于实现此问题,其中 可用). ... 来自来
14 2024-04-22
编程技术问答社区
sizeof(string) 不等于字符串长度
我曾经认为每个字符都是一个字节(至少在C/C ++中是这种情况),因此字符串的大小应等于len(string)字节.但是,一个简单的实验告诉我,python并非如此: import string, sys, random # abstracted code, removed unnecessary parts def loadKeyLength(db,key,N): val = key[:5] + ''.join(random.choice(string.ascii_letters + string.digits) for _ in xrange(N-5)) print sys.getsizeof(val), len(val),val def loadKeysSize(s): r=0 key=str(s).zfill(5)+str(r).zfill(5) loadKeyLength(None,key,s) for i in range(
18 2024-04-22
编程技术问答社区
将函数转换为返回一个实例的单例类
我正在使用Python 2.7进行此项目,并且我正在尝试转换返回记录对象的功能.我正在尝试确保可以通过导入而无需实际创建新实例来通过不同的Python模块来利用相同的对象实例?例如,如果我实际上导入最初创建实例的模块,则每次我导入它时都会创建一个新实例.但是我想在所有不同的情况下使用相同的原始实例 模块是我第一次运行该模块时创建的,因为由于多个实例,我在日志文件中打印了多行.这就是为什么需要python 2.7中的单身派类,但我不确定如何将此函数转换为单顿类,以便它返回一个实例,我可以通过导入而无需触发新实例来在所有不同的模块中使用它. setLogger函数创建一个记录器实例,该实例将log在file_name日志文件中输入. def setLogger(file_name): logger = logging.getLogger(__name__) if not getattr(logger, 'handler_set', None): logg
14 2024-04-22
编程技术问答社区
Python:复制长文件路径 Shutil.copyfile
我想使用python使用shutil.copyfile复制太长路径. 现在,我阅读了此复制一个带有太长路径的文件到Python中的另一个目录页面以获取解决方案.我用过: shutil.copyfile(r'\\\\?\\' + ErrFileName,testPath+"\\"+FilenameforCSV+"_lyrErrs"+timestrLyr+".csv") 复制文件,但它给了我一个错误:[errno 2]没有这样的文件或目录:'\\\\?\\ c:\\ ... 任何人都可以让我知道如何与shutil.copyfile合并长路径,我上面使用的方法应允许在文件路径中允许32K字符,但我什至无法达到1000,这给了我这个错误. 解决方案 由于\\?\前缀绕过正常路径处理,因此路径必须是绝对的,只能将后斜线用作路径分离器,并且必须是UTF-16字符串.在Python 2中,使用u前缀创建unicode字符串(Windows上的UTF-16).
14 2024-04-22
编程技术问答社区
Python 2.7-比较两个文本文件,只写入第一个文件中的唯一值
我正在尝试执行以下操作.比较两个文本文件(MasterFile和usedFile),并将MasterFile的唯一值(不常见)与第三文件(NewData)(NewData).这两个文件在每行中都有一个单词.示例: MasterFile Content Johnny transfer hello kitty 二手file内容 transfer hello newdata中的预期输出 Johnny kitty 我有两个解决方案,但都有问题 解决方案1:这给出了 - - ++以前的数据最终输出. . import difflib with open(r'C:\Master_Data.txt','r') as masterfile: with open(r'C:\Used_Data.txt','r') as usedfile: with open(r'c:\Ready_to_use.txt','w+') as Newda
16 2024-04-22
编程技术问答社区
使用会话 Cookie 进行 Python 网络抓取
嗨,我试图从此URL中取出一些数据: http://www.21cineplex.com/nowplaying/jakarta,3,JKT.htm/1 您可能已经注意到了,如果cookie和会话数据尚未设置,您将被重定向到其基本URL( http ://www.21cineplex.com/) 我试图这样做: def main(): try: cj = CookieJar() baseurl = "http://www.21cineplex.com" opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.open(baseurl) urllib2.install_opener(opener) movieSource = urllib2.urlopen('http://www.2
10 2024-04-22
编程技术问答社区
为IronPython安装numpy
我想使用C#在Ironpython中运行一些代码.在此代码中,我需要使用numpy.因此,我尝试使用以下命令安装它: ipy -X:Frames -m pip install -U numpy 不幸的是,我遇到了一个错误,返回消息告诉我这是一个不成功的安装.错误消息是波纹管: Using cached https://files.pythonhosted.org/packages/3a/20/c81632328b1a4e1db65f45c0a1350a9c5341fd4bbb8ea66cdd98da56fe2e/numpy-1.15.0.zip Installing collected packages: numpy Running setup.py install for numpy ... error Complete output from command "C:\Program Files\IronPython 2.7\ipy.exe" -u -c "impor
6 2024-04-21
编程技术问答社区
在C#中执行一个Python脚本
我试图在C#中执行Python代码.通常,它应该使用Ironpython和安装PTV后完成(我正在使用VS 2010). var pyEngine = Python.CreateEngine(); var pyScope = pyEngine.CreateScope(); try { pyEngine.ExecuteFile("plot.py", pyScope); } catch (Exception ex) { Console.WriteLine("There is a problem in your Python code: " + ex.Message); } 问题在于,Ironpython似乎无法识别一些库,例如Numpy,Pylab或matplotlib.我看了一点,发现有些人在谈
2 2024-04-20
编程技术问答社区
无法建立netifaces
我正在尝试为Windows构建Python Netifaces.我正在使用Microsoft Visual C ++ Express 2010版.当我运行命令python setup.py安装时,我会得到以下日志和错误: running install running bdist_egg running egg_info writing netifaces.egg-info\PKG-INFO writing top-level names to netifaces.egg-info\top_level.txt writing dependency_links to netifaces.egg-info\dependency_links.txt reading manifest file 'netifaces.egg-info\SOURCES.txt' writing manifest file 'netifaces.egg-info\SOURCES.txt' installing
2 2024-04-09
编程技术问答社区
(ctypes)msvcrt.printf和python中的打印
我正在学习一些有关使用msvcrt.dll,python 2.7中的ctypes使用printf函数的知识. 我观察到,当使用msvcrt.printf(" x")和通常的python print(" y")函数时," y"在" x" event oft print(" y")语句之前被打印出来. "X") .谁能解释为什么会发生这种情况? 这是我的代码: from ctypes import * msvcrt = cdll.msvcrt msvcrt.printf("hello world!") print("abcd") 输出: abcd hello world 解决方案 此代码在我的环境下正确运行,结果在这里:
6 2024-04-09
编程技术问答社区
用Python C API两次调用C函数时出现分段故障
最近,我想从fortran打电话给Python(请参阅在这里a>)使用C包装器.下面我发布了一个更简单的示例.该函数的第二个调用导致pModule = PyImport_Import(pName)处的分割故障.我发现问题在于from scipy.optimize import newton行 - 如果我对此进行评论,一切正常.有什么想法如何解决? rootc.c #include "rootC.h" #include void root_(double* A, double* B, double* t, double* x) { PyObject *pName, *pModule, *pFunc; PyObject *pArgs, *pValue, *sys, *path; Py_Initialize(); sys = PyImport_ImportModule("sys"); path = PyObjec
2 2024-04-08
编程技术问答社区
Python C API中的多重继承
如何使用从其他多种类型继承的Python C API创建类型? python文档包括一个从另一种类型继承的类型的示例,但是我找不到我能找到的多个继承的示例或提及. 解决方案 C API不支持多个继承.您必须自己打电话PyType_Type,模拟标准的Python class语句.这是在指定基础的指定基础的情况下,记录在输入扩展类型: pytypeobject* pytypeobject.tp_base 可选指针指向基本类型 从哪种类型属性继承.在这个级别上,只有单一 支持继承;多重继承需要动态 通过调用元类型来创建类型对象. 此字段不是由子类型继承(显然),但默认 到&PyBaseObject_Type(对Python程序员称为 键入object). 其他解决方案 假设您有一个名为test的模块,其中包括以下类: class A: a = 1 class B: b = 2 这个想法是创建一个新的类C,该类别从A和B中继承
2 2024-04-08
编程技术问答社区
将参数传递给 PyRun_File(***)
我在C和Python中编写一些代码. 我有一个称为sample.py的Python文件,该文件接受两个字符串参数. 我的C程序使用PyRun_SimpleString()调用Python函数.通过这种方式,我无法传递任何参数. by PyRun_SimpleString(): int main(int argc,char *argv[]) { ...... PyRun_SimpleString("import sample\nsample.mainfunc("argv[1]",'Isolated_domU_t')\n"); ..... } 如何通过使用PyRun_SimpleString(*)传递参数argv[1]? 解决方案 设置参数确实喜欢以下代码: wchar_t** wargv = new wchar_t*[argc]; for(int i = 0; i
4 2024-04-08
编程技术问答社区
Python C API-它是线程安全的吗?
我有一个从我的多线程Python应用程序中调用的C扩展名.我在C函数中使用静态变量i,稍后我有几个i++语句可以从不同的python线程运行(但是,该变量仅在我的C代码中使用,我不产生.它到python). 由于某种原因,到目前为止,我还没有遇到任何比赛状况,但是我想知道这是否只是运气... 我没有任何与线程相关的C代码(没有py_begin_allow_threads或任何内容). 我知道GIL仅保证单个字节码指令为原子和线程安全,因此在python中i+=1的语句不是线程安全. 但是我不知道C扩展中的i++指令.有帮助吗? 解决方案 Python在运行C代码时不会发布GIL(除非您告诉或导致执行Python代码 - 请参阅底部的警告说明!).它仅在字节码说明之前发布gil(不在解释器的角度来看,运行C函数的角度是执行CALL_FUNCTION字节函数的一部分.* (不幸的是,我找不到参考目前本段,但我几乎可以肯定是正确的) 因此,除非您做任何特定
16 2024-04-08
编程技术问答社区
为非C语言程序员解释缓冲器和Memoryview对象
python 2.7引入了用于缓冲和内存的新API ./p> 我阅读了它们的文档,我认为我有基本概念(以原始形式访问对象的内部数据而不复制它,我想这意味着获取对象的"更快,更少的记忆"方式数据),但是为了真正理解文档,读者应该拥有C的知识,该知识超出了我的范围. 如果有人花时间来: 我会非常感激 用"外行术语"和 在"外行术语"中解释缓冲区和内存视图对象 描述一种情况,其中使用缓冲区和内存视图对象将是做事的" Pythonic方式" 解决方案 这是我写的哈希函数的一行: M = tuple(buffer(M, i, Nb) for i in range(0, len(M), Nb)) 这将把一个长字符串(M)分为长度为nb的较短的"字符串",其中nb是一次可以处理的字节/字符的数量.它可以在不复制字符串的任何部分的情况下执行此操作,就像我这样的字符串切片一样,会发生: M = tuple(M[i*Nb:i*Nb+Nb] for i in range(
6 2024-04-08
编程技术问答社区