我正在尝试使用 google storage lib,但是当我调用 gsutil 时出现错误...
使用 pip 安装 gsutil:
pip install gsutil
Run Code Online (Sandbox Code Playgroud)
我当前的Python版本是3.5
当我gsutil从命令行运行时,出现以下错误:
class AbortException(StandardError): NameError: name 'StandardError' is not defined
Run Code Online (Sandbox Code Playgroud)
不知道如何解决这个问题...有什么想法吗?
编辑:看起来使用 python 3.4 工作正常,尽管他们说 3x 不支持它......
解决方法:
我无法修补装饰器,但仍然可以访问包装的函数。但是我要测试包装在装饰器中的函数的解决方法如下:
def un_some_method(self):
...
some_method = some_var.some_decorator('somestring')(un_some_method)
Run Code Online (Sandbox Code Playgroud)
这仍然修饰了我的功能,但是如果我想对其进行测试,可以在其他地方重用它,则可以访问该功能。
这就是问题:
我有一个模块,其中有一个类,以及实例化暴露装饰器的类的变量。
然后在模块内部的类中,将该变量与类的实例一起使用,并在类中装饰一个方法。要清楚,让我们看一些代码:
some_var = ClassX()
class SomeClass(object):
@some_var.some_decorator('somestring')
def some_method(self):
...
Run Code Online (Sandbox Code Playgroud)
在我的测试中,我想测试其中的代码,some_method并且我不在乎装饰器...尽管我尝试模拟装饰器是没有用的...以下是我尝试过的一些事情:
@patch('path_to_classx.ClassX.some_decorator')
@patch('path_to_someclassmodule.some_var')
@patch('path_to_someclassmodule.ClassX')
Run Code Online (Sandbox Code Playgroud)
上面的尝试都没有阻止功能的修饰...知道为什么吗?
我有一个 DynamoDB 表需要复制到不同的环境。管理表的最佳方法是使用 CloudFormation 模板,以便脚本可以基于该模板创建表。鉴于该表已经存在,我想知道是否可以为现有表生成电子模板,有什么想法吗?google 没找到太多...
模板看起来像这样:
"Resources": {
"CustomerTable": {
"Type" : "AWS::DynamoDB::Table",
"Properties" : {
"KeySchema": [
{
"AttributeName": "customerId",
"KeyType": "HASH"
}
],
"AttributeDefinitions": [
{
"AttributeName": "customerId",
"AttributeType": "N"
}
],
"ProvisionedThroughput" : {
"ReadCapacityUnits" : { "Ref": "CustomerReadCapacity" },
"WriteCapacityUnits" : { "Ref": "CustomerWriteCapacity" }
},
"TableName" : "customer"
}
}
}
Run Code Online (Sandbox Code Playgroud) 我希望在水豚做这样的事情:
browser.execute_script("arguments[0].setAttribute('value', 'value')", element)
Run Code Online (Sandbox Code Playgroud)
上面的行是在 selenium/ruby 上运行的,但是使用带有水豚的 execute_script 只需要 1 个参数(脚本),因此我无法定义我希望在...上执行脚本的元素……有什么想法吗?
我有一个处理jquery-ui的水豚猴补丁,它在Ubuntu上运行得很好......虽然移动到Windows时我得到以下错误(所有依赖宝石都安装成功):
capybara :: dsl :: module的未定义方法'委托'
发生这种情况的代码行是:
module Capybara::DSL
delegate :datepick, :datetimepick, :timepick, to: :page
end
Run Code Online (Sandbox Code Playgroud)
这可能是什么想法?有点失去了为什么只是通过切换OS来显示这个错误...