小编zen*_*zic的帖子

如何在python PDB中列出当前行?

在perl调试器中,如果您反复列出使您远离当前行的代码段,则可以通过输入命令.(点)返回到当前行.

我无法使用python PDB模块找到任何可比性的东西.如果我自己列出当前行并希望再次查看它,我似乎要记住当前正在执行的行号(对我来说不太可能)或执行语句(通常是不合需要的).

我错过了什么吗?

python pdb

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

从shell脚本中读取配置文件

我正在寻找类似于Pythons的ConfigParser或Perl的Config :: INI之类的shell脚本.我过去有源文件来完成这个,但我更喜欢阅读而不是执行我的"配置文件".有没有人知道任何可用于shell(或bash)脚本的上述模块?

谢谢,杰里

shell config

12
推荐指数
2
解决办法
3万
查看次数

使用PyDev创建远程项目

我是Eclipse/PyDev的新手,并且可能是一个非常基本的问题.我想用它来编辑和调试远程系统上的python文件.我能够使用RSE和pydevd来做到这一点,但我正在做的事情似乎并没有真正与IDE集成.也就是说,我可以转到RSE视角并编辑文件.然后,我可以在远程系统上编写脚本并在调试器中逐步执行它.但是这些文件不是Eclipse为我维护的项目的一部分.这一切都相当脱节.有没有办法让远程文件成为Eclipse项目的一部分?我可以将文件拖到项目中,但这会产生本地副本.我只是接近这个错误吗?

谢谢,杰里

python pydev

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

使用Python和suds 0.4的SAXParseException?

我有一个简单的Python脚本,它使用Suds从SOAP Web服务中提取数据.它在一台机器上完美运行,但当我将它移动到另一台具有较旧版本的Python(2.4.3)时,我得到以下堆栈跟踪:

>>> client = suds.client.Client(url, username='xxx', password='xxx', location=service_location, cache=None)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/home/etlsmart/lib/python2.4/site-packages/suds/client.py", line 112, in __init__
    self.wsdl = reader.open(url)
File "build/bdist.linux-i686/egg/suds/reader.py", line 152, in open
File "build/bdist.linux-i686/egg/suds/wsdl.py", line 136, in __init__
File "build/bdist.linux-i686/egg/suds/reader.py", line 79, in open
File "build/bdist.linux-i686/egg/suds/reader.py", line 101, in download
File "/home/etlsmart/lib/python2.4/site-packages/suds/sax/parser.py", line 136, in parse
    sax.parse(source)
File "/usr/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 109, in parse
    xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.4/site-packages/_xmlplus/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
File "/usr/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 220, …
Run Code Online (Sandbox Code Playgroud)

python soap suds

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

使用suds SOAP库进行HTTP身份验证的奇怪行为

我有一个工作的python程序,它使用suds通过SOAP获取大量数据.Web服务使用分页功能实现,这样我可以在每次获取调用时获取nnn行,并在后续调用时获取下一个nnn.如果我使用如下代码对HTTP服务器进行身份验证

client = suds.client.Client(url=url, location=location, username=username, password=password, timeout=timeout)

一切都很好.但是,如果我使用以下内容

t = suds.transport.https.HttpAuthenticated(username=username, password=password)
t.handler = urllib2.HTTPBasicAuthHandler(t.pm)
t.urlopener = urllib2.build_opener(t.handler)
client = suds.client.Client(url=url, location=location, timeout=timeout, transport=t) 

它适用于6次迭代.也就是说,如果我指定每次获取10行的获取限制,我会返回60行.在第七次取,我收到

  File "build/bdist.linux-i686/egg/suds/client.py", line 542, in __call__
  File "build/bdist.linux-i686/egg/suds/client.py", line 602, in invoke
  File "build/bdist.linux-i686/egg/suds/client.py", line 649, in send
  File "build/bdist.linux-i686/egg/suds/client.py", line 698, in failed
AttributeError: 'NoneType' object has no attribute 'read'

有没有人对可能导致这种情况的原因有任何建议.肯定是这种变化导致了这个问题.我可以来回交换身份验证样式,它是完全可重现的.

我正在使用suds 0.4运行python 2.6.6.

谢谢

python suds

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

Python CSV模块可以解析具有多列分隔符的文件

我有一个使用多列分隔符的"CSV"文件,因此数据看起来像

field1_|#|_field2_|#|_field3_|#|_field4
Run Code Online (Sandbox Code Playgroud)

有没有办法使用Python CSV模块来解析这个文件?

谢谢

python csv

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

python中的条件日志记录

我想在模块中包括日志记录,但是我不希望模块创建新的日志对象/文件,我希望它使用调用者日志对象,无论是什么,但前提是它们必须通过。我知道我可以将所有日志调用放在try块中,但这很尴尬。我最终想出的方法似乎可以奏效,但似乎很费解,而且我敢肯定有更好的方法可以做到这一点。

class MyClass(object):
    def __init__(self, arg1, arg2, log=None):
        if log == None:
            class log(object):
                def error(self, msg): pass
                def warning(self, msg): pass
                def info(self, msg): pass
                def debug(self, msg): pass
            self.log = log()
        else:
            self.log = log
        self.log.debug('Starting')
Run Code Online (Sandbox Code Playgroud)

什么是做这样的更好的方法?

谢谢!

python logging

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

setup.py 不遵守 PIP_INDEX_URL

我正在运行本地pypi 服务器-i我可以通过使用命令选项指定pip或设置PIP_INDEX_URL环境变量来从该服务器安装软件包。当我安装具有先决条件的软件包时,setup.py历史上已遵守PIP_INDEX_URL环境变量,从本地服务器中提取其他软件包。

然而,在最近安装的几个系统上,它的行为有所不同。例如,运行python setup.py develop失败,因为它尝试从pypi.python.org安装先决条件包。

我已经更新了我正在测试的所有系统上的所有相关 python 包(pythondistributevirtualenv、等...),并继续看到这种差异。pip在我的“原始”系统上,setup.py从环境变量中指定的 pypi 服务器下载先决条件PIP_INDEX_URL。在较新的系统上,我似乎无法让它尊重这个变量。

我缺少什么?

python pypi

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

如何将dict的成员传递给函数

假设我有一个我无法控制的功能,如下所示:

def some_func(foo, bar, bas, baz):
    do_something()
    return some_val
Run Code Online (Sandbox Code Playgroud)

现在我想调用此函数从包含与此函数的参数相同的键的dict传递元素.我可以这样做:

some_func(foo=mydict['foo'],
          bar=mydict['bar'],
          bas=mydict['bas'],
          baz=mydict['baz'])
Run Code Online (Sandbox Code Playgroud)

是否有一些优雅的方式,我可以利用这个事实,密钥匹配parms这样做不那么冗长?我知道我可以通过整个字典,但是我要么说我要么不想或不能改变函数接受单个字典而不是单个参数.

谢谢,杰里

python

4
推荐指数
2
解决办法
260
查看次数

python的dir()函数的结果顺序

dir()一类可以通过创建它返回一个用户自定义列表中的特殊功能进行自定义,那么为什么它不能维持我指定的顺序?这是一个例子:

>>> class C(object):
...   def __dir__(self):
...     return ['a', 'c', 'b']
...
>>> c = C()
>>> dir(c)
['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

为什么dir()看似排序我的清单并返回['a', 'b', 'c']而不是['a', 'c', 'b']

奇怪(对我来说),直接调用成员函数会得到预期的结果:

>>> c.__dir__()
['a', 'c', 'b']
Run Code Online (Sandbox Code Playgroud)

python

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

标签 统计

python ×9

suds ×2

config ×1

csv ×1

logging ×1

pdb ×1

pydev ×1

pypi ×1

shell ×1

soap ×1