假设我有一个多继承场景:
class A(object):
# code for A here
class B(object):
# code for B here
class C(A, B):
def __init__(self):
# What's the right code to write here to ensure
# A.__init__ and B.__init__ get called?
Run Code Online (Sandbox Code Playgroud)
有写作两种典型的方法C
的__init__
:
ParentClass.__init__(self)
super(DerivedClass, self).__init__()
但是,在任何一种情况下,如果父类(A
和B
)不遵循相同的约定,则代码将无法正常工作(某些可能会被遗漏,或被多次调用).
那么又是什么样的正确方法呢?很容易说"只是保持一致,遵循一个或另一个",但如果A
或B
来自第三方图书馆,那么呢?有没有一种方法可以确保所有父类构造函数被调用(并且以正确的顺序,只有一次)?
编辑:看看我的意思,如果我这样做:
class A(object):
def __init__(self):
print("Entering A")
super(A, self).__init__()
print("Leaving A")
class B(object):
def __init__(self):
print("Entering B")
super(B, self).__init__()
print("Leaving B")
class …
Run Code Online (Sandbox Code Playgroud) 我知道如何在Ruby中运行shell命令,如:
%x[#{cmd}]
Run Code Online (Sandbox Code Playgroud)
但是,如何指定运行此命令的目录?
是否有类似于shell的方式,类似于subprocess.Popen
Python:
subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个CSV,其中包含气象站的最高和最低温度,降水量,经度和纬度等天气数据.每类数据都存储在一个列中.
我想找到最高和最低温度的位置.查找最大值或最小值很简单:numpy.min(my_temperatures_column)
如何找到最小值或最大值所在的位置,以便找到纬度和经度?
这是我的尝试:
def coldest_location(data):
coldest_temp= numpy.min(mean_temp)
for i in mean_temp:
if mean_temp[i] == -24.6:
print i
Run Code Online (Sandbox Code Playgroud)
错误:列表索引必须为int
我将CSV的每个列保存到变量中,因此它们都是单独的列表.
lat = [row[0] for row in weather_data] # latitude
long = [row[1] for row in weather_data] # longitude
mean_temp = [row[2] for row in weather_data] # mean temperature
Run Code Online (Sandbox Code Playgroud)
我根据建议list.index(x)解决了这个问题
mean_temp.index(coldest_temp)
coldest_location=[long[5],lat[5]]
Run Code Online (Sandbox Code Playgroud)
不确定在问题中询问第二个问题是否合适,但如果有两个位置具有相同的最低温度怎么办?我怎么能找到它们和它们的指数?
我正在尝试在公共可访问的服务器上配置Let的加密证书.最初,服务器隐藏在路由器后面,但我已经转发了端口80和443.
证书似乎已完成大部分安装过程,但失败并显示以下消息:Failed to connect to host for DVSNI challenge
.
完整堆栈跟踪:
Updating letsencrypt and virtual environment dependencies......
Requesting root privileges to run with virtualenv: sudo /bin/letsencrypt certonly --standalone -d example.net -d www.example.net
Failed authorization procedure. example.net (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Failed to connect to host for DVSNI challenge
IMPORTANT NOTES:
- The following 'urn:acme:error:connection' errors were reported by
the server:
Domains: example.net
Error: The server …
Run Code Online (Sandbox Code Playgroud) 我复制并粘贴了这两个字符串(一个来自Google Doc,一个来自终端) - 到底是怎么回事?我怎样才能清理它们以便它们相同?
package main
import "fmt"
func main() {
fmt.Println([]byte("f6f77482e4394a21815b7090bc0185b4"))
fmt.Println([]byte("f6f77482e4394a21815b7090bc0185b4"))
}
Run Code Online (Sandbox Code Playgroud)
返回:
[102 54 102 55 55 52 56 50 101 52 51 57 52 97 50 49 56 49 53 98 55 48 57 48 98 99 48 49 56 53 98 52]
[102 54 102 55 55 52 56 50 194 173 101 52 51 57 194 173 52 97 50 49 194 173 56 49 53 98 194 173 55 48 57 48 98 …
Run Code Online (Sandbox Code Playgroud) 根据官方更新指南,我最近从Jekyll 2.x升级到Jekyll 3.1.1.
安装后,运行jekyll serve
产生以下错误:
依赖性错误:哎呀!看起来您没有安装
jekyll-markdown-block
或依赖其中一个依赖项.为了使用当前配置的Jekyll,您需要安装此gem.来自Ruby的完整错误消息是:'无法激活jekyll-markdown-block-1.1.0
,因为jekyll-3.1.1
与jekyll (~> 2.0)
' 冲突'如果遇到麻烦,可以在http://jekyllrb.com/help/找到有用的资源!
所以从那里我sudo gem update jekyll-markdown-block
,但错误仍然存在.然后我尝试更新我的所有宝石:
sudo gem update `gem list | cut -d ' ' -f 1`
Run Code Online (Sandbox Code Playgroud)
然后出于绝望,卸载了我的所有宝石(除了核心的宝石,我不允许卸载):
sudo gem uninstall `gem list | cut -d ' ' -f 1`
Run Code Online (Sandbox Code Playgroud)
然后我开始像正常一样安装jekyll(假设我现在正在使用干净的平板):
sudo gem install jekyll
Fetching: liquid-3.0.6.gem (100%)
Successfully installed liquid-3.0.6
Fetching: kramdown-1.9.0.gem (100%)
Successfully installed kramdown-1.9.0
....
Parsing documentation for jekyll-watch-1.3.1
Installing ri …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Python中的Tornado API从静态目录中提供页面.这个答案类似于我想要做的,但我似乎无法让它发挥作用.
我的目录结构如下所示(所有静态文件都在一个名为的文件夹中web
):
我有一个像这样的网络服务器设置:
class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r'/ws', WSHandler),
(r'/', IndexHandler),
]
settings = {
"debug": True,
"static_path": os.path.join(os.path.dirname(__file__), "web")
}
tornado.web.Application.__init__(self, handlers, **settings)
http_server = tornado.httpserver.HTTPServer(Application())
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
我想这一行:
"static_path": os.path.join(os.path.dirname(__file__), "web")
Run Code Online (Sandbox Code Playgroud)
可能已经修复了问题,但当我指向该index.html
文件时:
class IndexHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def get(self):
self.render('web/index.html')
Run Code Online (Sandbox Code Playgroud)
它按预期提供页面,但将此错误消息输出到控制台:
WARNING:tornado.access:404 GET /css/reset.css (::1) 3.57ms
WARNING:tornado.access:404 GET /js/lib/custom-marker.js (::1) 0.96ms
WARNING:tornado.access:404 GET /js/map.js (::1) 2.08ms
WARNING:tornado.access:404 GET /js/websocket-client.js (::1) 1.56ms
WARNING:tornado.access:404 GET /css/index.css (::1) 0.89ms
Run Code Online (Sandbox Code Playgroud)
在这个简约的例子中,我该如何解决我的问题?它在哪里指向并且无法找到文件?
您将提供的任何帮助将不胜感激!
我在使用Trianglify插件时遇到了一些问题.我想用它来设置一个背景div
.我怎样才能做到这一点?我找不到合适的例子.
这是我的示例代码:
<script>
var pattern = Trianglify({
width: window.innerWidth,
height: window.innerHeight
});
document.body.appendChild(pattern.canvas())
</script>
Run Code Online (Sandbox Code Playgroud)
另外,我可以div
使用来自Trianglify的不同背景吗?
可以在Python中"填充"一个数组,如下所示:
> [0] * 10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)
我想使用此示例原则快速创建类似对象的列表:
> a = [{'key': 'value'}] * 3
> a
[{'key': 'value'}, {'key': 'value'}, {'key': 'value'}]
Run Code Online (Sandbox Code Playgroud)
但看起来这些对象是相互关联的:
> a[0]['key'] = 'another value'
> a
[{'key': 'another value'}, {'key': 'another value'}, {'key': 'another value'}]
Run Code Online (Sandbox Code Playgroud)
鉴于Python没有clone()
方法(这是我寻找的第一件事),如何创建唯一对象而不需要声明for
循环并调用append()
添加它们?
谢谢!
我正在尝试安装pg-native
包:
sudo npm install pg-native
Run Code Online (Sandbox Code Playgroud)
但会生成以下错误:
> libpq@1.7.0 install /Workspace/auth/node_modules/libpq
> node-gyp rebuild
/bin/sh: pg_config: command not found
gyp: Call to 'pg_config --libdir' returned exit status 127. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:355:16)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command …
Run Code Online (Sandbox Code Playgroud)