:memory:当使用特殊URI打开数据库时,SQLite支持数据库的"共享缓存" (根据sqlite.org):
[T]他可以通过两个或多个数据库连接打开相同的内存数据库,如下所示:
rc = sqlite3_open("file::memory:?cache=shared",&db);
我可以通过利用这个在Python 3.4 URI参数为sqlite3.connect():
sqlite3.connect('file::memory:?cache=shared', uri=True)
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法为SQLAlchemy工作:
engine = sqlalchemy.create_engine('sqlite:///:memory:?cache=shared')
engine.connect()
...
TypeError: 'cache' is an invalid keyword argument for this function
Run Code Online (Sandbox Code Playgroud)
有没有办法让SQLAlchemy使用共享缓存?
编辑:
在Python 3.4上,我可以使用creator参数create_engine来解决问题,但问题仍然存在于其他Python版本中:
creator = lambda: sqlite3.connect('file::memory:?cache=shared', uri=True)
engine = sqlalchemy.create_engine('sqlite://', creator=creator)
engine.connect()
Run Code Online (Sandbox Code Playgroud) 该子集和问题是众所周知的是NP完全性,但也有不同的技巧,有些快速解决问题的版本.
通常的动态编程算法需要随目标总和增长的空间.我的问题是:我们可以减少这个空间要求吗?
我试图用适度数量的元素解决子集和问题,但目标总和非常大.对于指数时间算法(和快捷方法),元素的数量太大,并且目标总和对于通常的动态编程方法来说太大.
考虑这个解决问题的玩具问题.给定集合A = [2, 3, 6, 8]查找总和的子集数量target = 11.枚举所有子集我们看到答案是2:(3, 8)和(2, 3, 6).
动态编程解决方案当然会给出相同的结果 - ways[11]返回2:
def subset_sum(A, target):
ways = [0] * (target + 1)
ways[0] = 1
ways_next = ways[:]
for x in A:
for j in range(x, target + 1):
ways_next[j] += ways[j - x]
ways = ways_next[:]
return ways[target]
Run Code Online (Sandbox Code Playgroud)
现在考虑定位target = 1100集合的总和A = [200, 300, 600, 800] …
我正在尝试在Django和Python文件之间进行通信,但出现以下错误:
requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /api/1/ (Caused by NewConnectionError(': Failed to build a new connection: [WinError 10061]无法建立连接,因为目标机器主动拒绝它'))
我创建了一个名为test.pyIn a Djangoapp的 Python 文件并尝试在它们之间进行通信。我的Python 文件包含以下代码:
import requests
BASE_URL='http://127.0.0.1:8000/'
ENDPOINT='api/'
def get_resource(id):
resp=requests.get(BASE_URL+ENDPOINT+id+'/')
print(resp.status_code)
print(resp.json())
id=input("Enter some ID: ")
get_resource(id)
Run Code Online (Sandbox Code Playgroud)
Models.py 包含:-
from django.db import models
# Create your models here.
class Employee(models.Model):
eno=models.IntegerField()
ename=models.CharField(max_length=70)
esal=models.FloatField()
eaddr=models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)
Admin.py 包含:-
from django.contrib import admin
from testapp.models import Employee
# Register your …Run Code Online (Sandbox Code Playgroud)