在一个真正的金字塔应用程序中,它不适用于每个文档http://docs.pylonsproject.org/projects/pyramid//en/latest/narr/testing.html:
class FunctionalTests(unittest.TestCase):
def setUp(self):
from myapp import main
app = main({})
Run Code Online (Sandbox Code Playgroud)
例外:
Traceback (most recent call last):
File "C:\projects\myapp\tests\model\task_dispatcher_integration_test.py", line 35, in setUp
app = main({})
File "C:\projects\myapp\myapp\__init__.py", line 207, in main
engine = engine_from_config(settings, 'sqlalchemy.')
File "C:\projects\myapp\ve\lib\site-packages\sqlalchemy\engine\__init__.py", line 407, in engine_from_config
url = options.pop('url')
KeyError: 'url'
Run Code Online (Sandbox Code Playgroud)
原因很简单:传递一个空字典main,虽然看起来在运行真实应用程序(从__init__.py)时它会settings预先填充来自/的[app:main]部分的值:development.iniproduction.ini
settings {'ldap_port': '4032', 'sqlalchemy.url': 'postgresql://.....}
Run Code Online (Sandbox Code Playgroud)
是否有某种方法settings可以轻松地从.ini文件中进行功能测试?
我以这种方式在我的图表中创建传奇:
legend_handles.append(matplotlib.patches.Patch(color=color1, label='group1'))
legend_handles.append(matplotlib.patches.Patch(color=color2, label='group2'))
ax.legend(loc='upper center', handles=legend_handles, fontsize='small')
Run Code Online (Sandbox Code Playgroud)
这会导致图例项目垂直堆叠(从上到下),而我想将它们从左到右水平放置.
我怎样才能做到这一点?
(matplotlibv1.4.3)
我有一个带有+ 100K行的数据框,如下所示:
user document
0 john book
1 jane article
2 jane book
3 jane book
4 jim article
5 john book
6 jim blogpost
7 jane blogpost
8 jane blogpost
9 jane blogpost
Run Code Online (Sandbox Code Playgroud)
我需要这样的数据框:
blogpost article book
john 1 3 0
jane 0 0 1
jim 4 0 2
Run Code Online (Sandbox Code Playgroud)
也就是说,每个user, document组合都需要下载数量。
我正在做.groupby(['user', 'document']),然后df.loc用来设置下载数量:
df = pd.DataFrame(index=users, columns=documents)
df.fillna(0, inplace=True)
grouped = records.groupby(['user', 'document'])
for elem in grouped:
user, document = elem[0]
downloads = …Run Code Online (Sandbox Code Playgroud) 一个真实的,如果很愚蠢的问题:
https://github.com/joshmarshall/tornadorpc/blob/master/tornadorpc/base.py
def start_server(handlers, ...):
...
for (route, handler) in handlers:
...
Run Code Online (Sandbox Code Playgroud)
通常,“处理程序”是2元素元组的列表。但是通过这种特定的解决方案(Tornado),您可以将第三个参数传递给特定的处理程序(kw args)。因此,“处理程序”中的元组有时可能具有2个元素,而其他时候可能具有3个元素。
我需要将其循环展开。当然,除了拆箱外,我可以做一些类似长度检查或尝试..的工作。啊。
您能想到比这个更好/更聪明的东西吗:
In [8]: handlers
Out[8]: [(1, 2), (3, 4, 5), (6, 7)]
In [9]: new_handlers = [x + (None,) for x in handlers]
Run Code Online (Sandbox Code Playgroud)
?
问题:
我需要将多个正则表达式应用于大日志文件的每一行(如几GB长),收集非空匹配并将它们全部放在一个数组中(用于序列化并通过网络发送).
如果对这个问题的答案成立,切片并没有多大帮助:
如果切片没有足够的容量,则追加将需要分配新内存并复制旧内存.对于具有<1024个元素的切片,它将使容量加倍,对于具有> 1024个元素的切片,它将增加因子1.25.
由于可能有数十万个正则表达式匹配,我无法真正预测切片的长度/容量.我不能把它变得太大"以防万一"bc这会浪费内存(或者它会吗?如果内存分配器足够聪明不分配太多未写入的内存,也许我可以使用巨大的切片容量没有太大的伤害?).
所以我正在考虑以下替代方案:
len()起作用吗?)在Go中是否有一种不太费力的方法来实现这个目标(附加~O(1)追加复杂性)?
(golang新手当然在这里)
我是Go的新手,在阅读默认文件权限/系统掩码时遇到一些问题.当然我可以指定固定权限:
f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0600)
Run Code Online (Sandbox Code Playgroud)
但是我希望程序能够很好地运行,并使用用户的帐户集打开一个文件umask.我怎样才能做到这一点?
我正在学习Haskell,并试图掌握Haskell类型系统究竟是如何工作的,重新确定事物的类型:动态,静态,手动设置,推断?
语言我知道一点:
C,Java:由程序员手动设置,在编译时验证,如int i;强类型(从字符串中减去整数是编译错误).典型的静态类型系统.
Python:运行时自动推断的类型(动态类型),强类型(int从str引发异常中减去).
Perl,PHP:在运行时自动推断类型(动态类型),弱类型.
Haskell:类型通常在编译时自动推断(在编译时,程序员明确设置此类型或类型),强类型.
Haskell的类型系统真的值得描述"静态"吗?我的意思是自动类型推断不是(经典的)静态类型.
我尝试使用Python脚本"点击"用于DSL调制解调器中的重新启动确认的Javascript警报,如下所示:
#!/usr/bin/env python
import selenium
import time
from selenium import webdriver
cap = {u'acceptSslCerts': True,
u'applicationCacheEnabled': True,
u'browserConnectionEnabled': True,
u'browserName': u'phantomjs',
u'cssSelectorsEnabled': True,
u'databaseEnabled': False,
u'driverName': u'ghostdriver',
u'driverVersion': u'1.1.0',
u'handlesAlerts': True,
u'javascriptEnabled': True,
u'locationContextEnabled': False,
u'nativeEvents': True,
u'platform': u'linux-unknown-64bit',
u'proxy': {u'proxyType': u'direct'},
u'rotatable': False,
u'takesScreenshot': True,
u'version': u'1.9.8',
u'webStorageEnabled': False}
driver = webdriver.PhantomJS('/usr/lib/node_modules/phantomjs/bin/phantomjs', desired_capabilities=cap)
driver.get('http://username:passwd@192.168.1.254')
sbtn = driver.find_element_by_id('reboto_btn')
sbtn.click()
time.sleep(4)
al = driver.switch_to_alert()
print al.accept()
Run Code Online (Sandbox Code Playgroud)
但是,即使我确实插入,我也会handlesAlerts在下面粘贴异常desired_capabilities.
我该如何解决这个问题?异常的原因是什么?
例外:
---------------------------------------------------------------------------
WebDriverException Traceback (most recent call last)
/usr/local/bin/pjs/asus_reboot.py …Run Code Online (Sandbox Code Playgroud) 我有hw.ts与此内容相关的文件:
function greeter(x: string) {
return "Hello" + x;
}
let u = "John";
document.body.innerHTML = greeter(u);
Run Code Online (Sandbox Code Playgroud)
我选择Start without debugging,VSCode说:
Cannot launch program 'hw.ts' because corresponding JavaScript cannot be found.
Run Code Online (Sandbox Code Playgroud)
OK,所以我从命令行编译文件:
tsc hw.ts
Run Code Online (Sandbox Code Playgroud)
现在我也有hw.js相同的文件夹。
所以我再次选择Start without debugging,VSCode再次说Cannot launch program 'hw.ts' because corresponding JavaScript cannot be found.。
有什么方法可以从VSCode编译和运行TypeScript程序吗?我想念什么?
(我有node我的PATH,它应该是可见的VSCode)
我在 Go 中喜欢但在 Nim 中似乎还找不到的一件事是类似 Go 的“修改后的 CSP”类并行。
我什至还没有开始学习 Nim,现在只是考虑我的选择。我非常喜欢 Go 模型,但 Nim 似乎只有线程。
除了 Nim 中的线程之外,是否有一些包可以合理地用于并行?
有没有计划在 Nim 语言中引入这样的模型,比如 Go 或 Erlang 模型(如果我理解正确的话,演员模型),广泛地本着消息传递的精神?
python ×5
go ×2
javascript ×2
configparser ×1
containers ×1
haskell ×1
matplotlib ×1
nim-lang ×1
nimrod ×1
pandas ×1
phantomjs ×1
pylons ×1
pyramid ×1
selenium ×1
slice ×1
tuples ×1
type-systems ×1
typescript ×1
typing ×1
umask ×1
webdriver ×1