小编gim*_*mel的帖子

从.NET使用Python COM服务器

我想使用win32com扩展来实现python com服务器.然后从.NET中使用服务器.我使用以下示例来实现com服务器并且它运行没有问题但是当我尝试使用C#消耗它时,我得到了FileNotFoundException并带有以下消息"使用CLSID检索组件的COM类工厂{676E38A6-7FA7-4BFF-9179 -AE959734DEBB}由于以下错误而失败:8007007e." .我也发布了C#代码.我想知道我是否遗漏了一些我会感激任何帮助.

谢谢,莎拉

#PythonCOMServer.py

import pythoncom
class PythonUtilities:
    _public_methods_ = [ 'SplitString' ]
    _reg_progid_ = "PythonDemos.Utilities"
    # NEVER copy the following ID

    # Use"print pythoncom.CreateGuid()" to make a new one.
    _reg_clsid_ = pythoncom.CreateGuid()
    print _reg_clsid_
    def SplitString(self, val, item=None):
        import string
        if item != None: item = str(item)
        return string.split(str(val), item)

# Add code so that when this script is run by
# Python.exe,.it self-registers.

if __name__=='__main__':        
    print 'Registering Com Server'
    import win32com.server.register
    win32com.server.register.UseCommandLine(PythonUtilities)


// the C# code …
Run Code Online (Sandbox Code Playgroud)

.net python com

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

如何检查数字溢出而不在Python中收到警告?

我有一个表达式溢出为某些参数值.在这种情况下,我已经得出了使用笔和纸的渐近结果,当我有这样的情况时,我只用我的分析表达式替换.

目前我的代码做了这样的事情:

values = ExpressionThatOverFlows()
# Check the ones that overflow
indOverFlow = isnan(values)
# Set them to the values I derived by pen and paper
values[indOverFlow] = derivedValues
Run Code Online (Sandbox Code Playgroud)

我的问题是I/O爆炸了"警告".我知道它警告我很好,但我明确地照顾它,所以我想让它们沉默.请注意,我不想让所有类型的"溢出"警告静音,只有这里的警告.我认为像这样的东西会起作用,但它没有:

try:
   values = ExpressionThatOverFlows()
except Warning:
   pass
# and the rest of the code as it is
Run Code Online (Sandbox Code Playgroud)

我已经检查了一下,但我似乎只是找到了如何在整个会话或永远保持这些警告,但这是因为我指出的不是我想要的.

谢谢你的帮助,非常感谢.

编辑:这里有一个小得多的代码,产生我的问题:

from scipy import log1p, exp
from numpy import array, isnan

a = array([0.2222, 500.3, 0.3, 700.8, 0.111])

values = log1p(-exp(-exp(10**a - 9**a)))

print values # Note the nan's

indOverflow = …
Run Code Online (Sandbox Code Playgroud)

python numpy overflow

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

用Python加载图像(错误)

我想加载图像,但我收到错误消息.

我的代码:

from PIL import Image
im = Image.open("D:\Python26\PYTHON-PROGRAMME\bild.jpg")
im.show()
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback (most recent call last):
  File "D:\Python26\PYTHON-PROGRAMME\00000000000000000", line 2, in <module>
    im = Image.open("D:\Python26\PYTHON-PROGRAMME\bild.jpg")
  File "D:\Python26\lib\site-packages\PIL\Image.py", line 1888, in open
    fp = __builtin__.open(fp, "rb")
IOError: [Errno 22] invalid mode ('rb') or filename: 'D:\\Python26\\PYTHON-PROGRAMME\x08ild.jpg'
Run Code Online (Sandbox Code Playgroud)

python image

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

Python新手问题 - 我无法弄清楚我的问题究竟是什么

我是Python的新手,我一直在尝试用它制作一个斐波纳契程序.

def fib(n):
    print 'n =', n
    if n > 1:
        return n * fib(n - 1)
    else:
        print 'end of the line'
    return 1

n = raw_input('Input number: ')
int(n)
fib(n)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此程序时,输入数字后出现以下错误:

输入数量:5

n = 5

Traceback(最近一次调用最后一次):

文件"fibonacci.py",第11行,in

fib(n)
Run Code Online (Sandbox Code Playgroud)

文件"fibonacci.py",第4行,在fib

return n * fib(n - 1)
Run Code Online (Sandbox Code Playgroud)

TypeError:不支持的操作数类型 - :'str'和'int'

如果我运行解释器并仅导入函数(后面没有代码),请提供n的值并使用值作为参数调用函数,它可以工作.

我尝试将输入转换为int,因为我认为这是一个字符串问题,但没有骰子.我真的不知道自己哪里出错了,所以如果你能够对这个问题有所了解,我们将不胜感激.

我想把问题标题改为特定的东西,但我真的不知道问题是什么.

python

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

标签 统计

python ×4

.net ×1

com ×1

image ×1

numpy ×1

overflow ×1