我们可以使用docker来拉出不同的图像.而这些图像是不同的linux发行版.但无论运行哪个Linux发行版docker,docker都可以像在虚拟机中一样运行这些不同的linux发行版.
我知道docker使用aufs来控制不同的读写访问级别.因此它可以在主机上重用一些文件.但是apt-get
当主机运行时,docker如何在容器中运行arch linux
?图像是否包含apt-get
二进制文件?但是不同的linux发行版有不同的库和软件版本.甚至配置文件也不同.如何在一个arch linux中"运行"ubuntu?
我有一个程序在一个具有分离模式的docker容器中运行.
那么如何向这个程序发送SIGINT等信号呢?
当我写一些代码时,我发现了一件有趣的事情:
def test():
l = []
for i in range(10):
def f():pass
print(f)
#l.append(f)
test()
import dis
dis.dis(test)
Run Code Online (Sandbox Code Playgroud)
输出是:
<function test.<locals>.f at 0x7f46c0b0d400>
<function test.<locals>.f at 0x7f46c0b0d488>
<function test.<locals>.f at 0x7f46c0b0d400>
<function test.<locals>.f at 0x7f46c0b0d488>
<function test.<locals>.f at 0x7f46c0b0d400>
<function test.<locals>.f at 0x7f46c0b0d488>
<function test.<locals>.f at 0x7f46c0b0d400>
<function test.<locals>.f at 0x7f46c0b0d488>
<function test.<locals>.f at 0x7f46c0b0d400>
<function test.<locals>.f at 0x7f46c0b0d488>
6 0 BUILD_LIST 0
3 STORE_FAST 0 (l)
7 6 SETUP_LOOP 42 (to 51)
9 LOAD_GLOBAL 0 (range)
12 LOAD_CONST 1 …
Run Code Online (Sandbox Code Playgroud) 当我想导入jnius时,出现如下错误:
Traceback (most recent call last):
...
File "C:\Python27\lib\site-packages\jnius\__init__.py", line 12, in <module>
from .jnius import *
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)
我需要使用jnius才能使用:https : //github.com/kevlened/sikuli_cpython
我拥有和使用的东西:
我有很多打开的终端。现在我想设置一个环境变量并希望环境变量可以在所有打开的终端中有效(不需要 lgout shell 并再次登录或任何其他额外的命令,例如 source 使其有效)而不仅仅是我所在的终端设置环境变量。
有什么想法吗?
假设我们有一个dicts列表:
[
{
'k1': 'v11',
'k2': 'v21',
'k3': 'v31'
},
{
'k1': 'v12',
'k2': 'v22',
'k3': 'v32'
},
{
'k1': 'v13',
'k2': 'v23',
'k3': 'v33'
}
]
Run Code Online (Sandbox Code Playgroud)
我想得到所有值的关键是k1
:[v11, v12, v13]
,但不使用循环.
我试着使用map
函数和functools.partial
:
map(functools.partial(dict.get(), 'k1'), the_list)
Run Code Online (Sandbox Code Playgroud)
但这是错误的,因为我只能使用绑定第一个参数functools.partial
.
那么有没有pythonic方法来做到这一点?