小编Aav*_*aas的帖子

在python中使用带有"WITH"关键字的sqlite3

我正在做一个教程并遇到一种方法来处理与sqlite3的连接,然后我研究了关键字并发现它是一个替代尝试,除了,最后的做事方式

有人说,在文件处理的情况下,'WITH'会自动处理文件关闭,我认为与zetcode教程中所说的连接类似: -

"使用with关键字,Python解释器会自动释放资源.它还提供错误处理." http://zetcode.com/db/sqlitepythontutorial/

所以我认为使用这种处理方式会很好,但我无法弄清楚为什么两个(内部范围和外部范围)语句都有效?不应该WITH释放连接?

import sqlite3

con = sqlite3.connect('test.db')

with con:    
    cur = con.cursor()    

    cur.execute('SELECT 1,SQLITE_VERSION()')
    data = cur.fetchone()   
    print data        

cur.execute('SELECT 2,SQLITE_VERSION()')
data = cur.fetchone()
print data
Run Code Online (Sandbox Code Playgroud)

哪个输出

(1, u'3.6.21')
(2, u'3.6.21')
Run Code Online (Sandbox Code Playgroud)

我不知道WITH在这里做了什么(或者一般情况下),所以,如果你愿意,请详细说明在这种情况下使用WITH over TRY CATCH.

是否应该在每次查询时打开和关闭连接?(我在一个函数内部构造查询,我每次都用一个参数调用)这是一个好习惯吗?

python sqlite python-2.7

11
推荐指数
3
解决办法
9129
查看次数

python中的部分匹配字典键(元组)

我有一个字典,将3tuple映射到3tuple,其中key-tuples有一些共同的元素

dict= { (a,b,c):(1,2,3),
        (a,b,d):tuple1,
        (a,e,b):tuple,
        .
        (f,g,h):tuple3,
        .
        .
        .
        tuple:tuple
      }
Run Code Online (Sandbox Code Playgroud)

现在如何在字典中找到与(a,b,anyX)匹配的值ie (1:2:3) and tuple1

这是计算机生成的并且非常大,因此需要花费精力来确定任何X.

那么,我能做到这一点的好方法吗?

编辑:(f,g,*),(f,*,g)与tuple3的部分匹配也会有所帮助,但不是必需的.

python dictionary python-2.7

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

如何将Leptonica Pix Object转换为Android的Bitmap

我有一个Leptonica Pix对象返回

TessBaseApi.getThresholdedImage();
Run Code Online (Sandbox Code Playgroud)

现在,我怎么能将它转换为位图,以便我可以通过它显示它ImageView.

leptonica.android.Pixandroid.graphics.Bitmap;

我没有找到查看API文件的转换方法.

android tesseract leptonica android-bitmap tess-two

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

对于list和int,类变量的行为有所不同?

据我所知,类共享变量与类的所有实例共享.但是我无法理解这个问题.

class c():
    a=[1]
    b=1
    def __init__(self):
        pass

x=c()
x.a.append(1)
x.b+=1 #or x.b=2

print x.a #[1,1]
print x.b #2

y=c()
print y.a #[1,1] :As Expected
print y.b #1 :why not 2?
Run Code Online (Sandbox Code Playgroud)

yaxa共振,但 yb没有.

希望有人能澄清一下.

编辑:如何为整数创建相同的功能.

python python-2.7

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

Android Studio NDK解决方法

我正在尝试集成NDK项目,其中Android Studio告诉我,我可以通过以下方式解决方法:

警告:找到本机C/C++源代码,但似乎未配置NDK选项.请注意,如果您有Android.mk,则不会用于编译.建议的解决方法是通过添加以下内容来删除默认的jni源代码目录:

android {
    sourceSets {
        main {
            jni.srcDirs = []
    }
} } 
Run Code Online (Sandbox Code Playgroud)

build.gradle,用ndk-build手动编译代码,然后将生成的共享对象放在src/main/jniLibs中

所以在我的ndk构建之后,我发现有两个地方我可以找到.so文件在armeabi-v7a,mips和x86文件夹中

/libs
/obj/local
Run Code Online (Sandbox Code Playgroud)

那么上面哪两个文件夹包含要复制的实际.so文件?

我是否必须配置其他任何东西才能使其工作?我通过Android Studio的导入ADT方法导入了项目.谢谢!

c++ java android android-ndk android-studio

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