小编Eph*_*eal的帖子

如何在不使用pull命令的情况下下载Docker镜像?

有没有办法我可以使用Firefox下载Docker镜像/容器,而不使用内置的docker-pull.

我被公司的防火墙和代理阻止了,我无法通过它来解决问题.

我的问题是我无法使用Docker来获取图像,即Docker保存/拉动和其他Docker提供的功能,因为它被防火墙阻止.

docker docker-registry

39
推荐指数
5
解决办法
5万
查看次数

在python 3.4中从imp转换为importlib时出现问题

我已经制作了一个可以加载插件的Python应用程序。这些插件是根据名称和路径加载的。

我目前正在使用

pluginModule = imp.load_source(pluginModuleName,  pluginModulePath)
Run Code Online (Sandbox Code Playgroud)

然后以这种方式在模块中获取类实例

# Load the module class and initialize it.
if hasattr(pluginModule, pluginClassName):
  try:
    pluginClassInst = getattr(pluginModule, pluginClassName)()
  except Exception as e:
    errorMsg = ('In plugin module [{}], {}'.format(os.path.basename(pluginModulePath), e))
    exceptionTracePrint(self._log)
    self._log.error(errorMsg)
    continue
Run Code Online (Sandbox Code Playgroud)

由于不建议使用imp lib,因此我想使用importlib。而获得类实例的唯一类似方法是使用

pluginModule = importlib.machinery.SourceFileLoader(pluginModuleName, pluginModulePath).load_module()
Run Code Online (Sandbox Code Playgroud)

这里很奇怪(我正在使用pyCharm作为IDE)。当我在调试模式下运行代码时,上面的命令可以正常工作,并且可以获取类实例。但是运行代码通常会给我以下错误。

pluginModule = importlib.machinery.SourceFileLoader(pluginModuleName, pluginModulePath).load_module()
AttributeError: 'module' object has no attribute 'machinery'
Run Code Online (Sandbox Code Playgroud)

为什么运行和调试之间会有区别。有没有一种做我想要的替代方法。

我也尝试过

pluginModuleTmp = importlib.util.spec_from_file_location(pluginModuleName, pluginModulePath)
Run Code Online (Sandbox Code Playgroud)

这也给了我正确的数据,但是我无法以这种方式加载模块,或者至少我不知道如何

问候安德斯

python pycharm python-3.x python-importlib

5
推荐指数
1
解决办法
899
查看次数

为什么调用 argparse.parse_args() 或 .parse_args(sys.argv) 时有差异

我在 python 代码中创建了以下参数解析器。

parser = argparse.ArgumentParser()
parser.add_argument('projectPath')
parser.add_argument('-project')
parser.add_argument('-release')
parser.add_argument('--test', default=False, action='store_true')
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

我正在按以下方式执行我的程序。

myProgram.py /path/to/file -project super --test
Run Code Online (Sandbox Code Playgroud)

如果我使用上面的 sysntax ,它就可以正常工作

args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

但是,如果我采用 sys.argv 作为输入

args = parser.parse_args(sys.argv)
Run Code Online (Sandbox Code Playgroud)

解析器突然对参数的顺序很挑剔,我得到了无法识别的参数错误。

usage: fbu.py [-h] [-project PROJECT] [-release RELEASE] [--test] projectPath
fbu.py: error: unrecognized arguments: /path/to/file
Run Code Online (Sandbox Code Playgroud)

正如我从错误中看到的,还使用了 -h 参数。路径参数必须是最后一个,并且在最后一个示例中错误是有意义的。但为什么它不关心第一个例子中的顺序呢?

编辑:我正在使用 python 版本 3.4.3

python argparse python-3.x

4
推荐指数
1
解决办法
4506
查看次数

RegEx 忽略注释行。

我正在尝试解析以下文本

# ---------------------------------------------------------------------------- #
# Packages
# ---------------------------------------------------------------------------- #

set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_1_test_1_qip.vhd"]
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_2_test_1_qip.vhd"]
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_3_test_1_qip.vhd"]

# Register Tool set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_INVALID_test_1_qip.vhd"]

# ---------------------------------------------------------------------------- #
# Sub Modules
# ---------------------------------------------------------------------------- #

set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) "module_test_2.qip"]
set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) "module_test_3.qip"]

# ---------------------------------------------------------------------------- #
# Module Files
# ---------------------------------------------------------------------------- #

set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_4_test_1_qip.vhd"]
set_global_assignment …
Run Code Online (Sandbox Code Playgroud)

python regex python-3.x

2
推荐指数
1
解决办法
8992
查看次数