小编jim*_*ark的帖子

在python中检测空函数定义

我需要检测函数是否为空定义.它可以像:

def foo():
    pass
Run Code Online (Sandbox Code Playgroud)

或者喜欢:

def foo(i, *arg, **kwargs):
    pass
Run Code Online (Sandbox Code Playgroud)

或者喜欢:

foo = lambda x: None
Run Code Online (Sandbox Code Playgroud)

使用'inspect'模块检测它们的最优雅方法是什么?有没有比这更好的方法:

def isEmptyFunction(func):
    e = lambda: None
    return func.__code__.co_code == e.__code__.co_code
Run Code Online (Sandbox Code Playgroud)

python introspection code-inspection

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

由于Windows上的空信任存储,python treq因Twisted/OpenSSL错误而失败

当我在http://www.google.com上运行以下示例代码时,它运行正常但是当我尝试https://www.google.com时,我收到此错误:

Requesting https://www.google.com

Unhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
Failure: twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure <class 'OpenSSL.SSL.Error'>>]
Run Code Online (Sandbox Code Playgroud)

我使用的是python 2.7.8,twisted 14.0.2,service_identity 14.0.0,treq 0.2.1,OpenSSL 0.14

import treq
from twisted.internet import reactor, defer
import sys

@defer.inlineCallbacks
def doit(url):
    print "Requesting "+ url + "\n"
    results = yield treq.get(url)
    print "...got results\n"
    content = yield results.content()
    print "%s"%content
    reactor.stop()

def main():
    url = sys.argv[1]
    reactor.callLater(0, doit, url)
    reactor.run()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python windows ssl twisted

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

使用python 2.7查询sqlite3数据库并获取"sqlite3操作错误没有这样的表"

我的简单测试代码如下所示.我已经创建了表,可以使用Firefox上的SQLite Manager加载项查询它,所以我知道表和数据存在.当我在python中运行查询(并使用python shell)时,我得到了没有这样的表错误

def TroyTest(self, acctno):

    conn = sqlite3.connect('TroyData.db')
    curs = conn.cursor()

    v1 = curs.execute('''
    SELECT acctvalue 
    FROM balancedata
    WHERE acctno = ? ''', acctno)
    print v1  
    conn.close()
Run Code Online (Sandbox Code Playgroud)

python sqlite

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

无法从其他方法访问本地变量

在我的代码中,我有以下内容:

public void PopulateForm(int i)
{
    DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter fobj = new DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter();
    DataTable dt = new DataTable();
    dt = fobj.GetTicketUpdates(txtSupportRef.Text);
    txtShortDesc.Text = dt.Rows[0].Table.Rows[i]["ShortDesc"].ToString();
    txtNextStep.Text = dt.Rows[0].Table.Rows[i]["NextStep"].ToString();
    txtLastUpdated.Text = dt.Rows[0].Table.Rows[i]["LastUpdated"].ToString();
}
Run Code Online (Sandbox Code Playgroud)

然后在我背后的代码的另一个区域:

protected void btnNext_Click1(object sender, EventArgs e)
{
    int i = (int)ViewState["recordIndex"];
    i = i >= dt.Rows[0].Table.Rows.Count - 1 ? 0 : i + 1;
    PopulateForm(i);
}
Run Code Online (Sandbox Code Playgroud)

但是当我构建解决方案时,它说:

The name 'dt' does not exist in the current context

.net c#

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

标签 统计

python ×3

.net ×1

c# ×1

code-inspection ×1

introspection ×1

sqlite ×1

ssl ×1

twisted ×1

windows ×1