shExpMatch()和之间有什么区别dnsDomainIs()
定义说:
// dnsDomainIs()
// Evaluates hostnames and returns true if hostnames match. Used mainly to match and exception individual host names.
// Example:
if (dnsDomainIs(host, ".google.com")) return "DIRECT";
// shExpMatch()
// Attempts to match hostname or URL to a specified shell expression and returns true if matched.
// Example:
if (shExpMatch(url, "*vpn.domain.com*") ||
shExpMatch(url, "*abcdomain.com/folder/*"))
return "DIRECT";
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的话
shExpMatch() - 可以使用一些通配符
dnsDomainIs() - 可以使用确切的名称
是shExpMatch()优越的dnsDomainIs()
我见过许多具有各种语法的 Dockerfile。他们中的一些人CMD不使用括号,其中一些人使用括号。根据我的实验,这两个是等价的:
CMD ["/bin/ping", "localhost"]
CMD /bin/ping localhost
Run Code Online (Sandbox Code Playgroud)
但事实并非如此,ENTRYPOINT根据我的实验,这些并不相同,只有带括号的版本才有效。
ENTRYPOINT ["/docker-entrypoint.sh"]
ENTRYPOINT /docker-entrypoint.sh
Run Code Online (Sandbox Code Playgroud)
我正在试验这些文件:
Dockerfile:
FROM debian:wheezy
COPY docker-entrypoint.sh /
RUN chmod +x /docker-entrypoint.sh
# WORKS AS EXPECTED - FIRST PASS EXECUTION TO /docker-entrypoint.sh THEN TO CMD
ENTRYPOINT ["/docker-entrypoint.sh"]
# PRINTS "PASSED ARGUMENTS" AND EXITS (CMD IS NOT EXECUTED)
# ENTRYPOINT /docker-entrypoint.sh
# WORKS
CMD ["/bin/ping", "localhost"]
# WORKS
# CMD /bin/ping localhost
# ERROR
# CMD "/bin/ping localhost"
Run Code Online (Sandbox Code Playgroud)
docker-entrypoint.sh
#!/bin/bash
echo "PASSED ARGUMENTS"
echo "$@" …Run Code Online (Sandbox Code Playgroud) 我正在使用 marp/marpit 来创建幻灯片。我的目标是创建具有三个垂直列的幻灯片。我有一个 CSS 文件,我在 HTML 页面和 marp 中使用它。在网络浏览器中,HTML 页面会扩展到整个页面。但在 PDF 查看器(由 marp 生成的文件)中,幻灯片有一些从左/右上/下的边框。
我正在使用的文件:
页面.html
<!DOCTYPE html>
<html>
<!-- page.html -->
<head>
<!-- <link rel="stylesheet" href="css.css"> -->
<link rel="stylesheet" href="custom-theme.css">
</head>
<body>
<div class="container">
<!-- <div class="toppane">Test Page</div> -->
<div class="leftpane">
<h1>Left column</h1>
</div>
<div class="middlepane">
<h1>Middle column</h1>
</div>
<div class="rightpane">
<h1>Right column</h1>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
自定义主题.css
/* custom-theme.css */
/* @theme custom-theme */
@import 'default';
body, html {
width: 100%;
height: 100%;
margin: 0;
}
.container { …Run Code Online (Sandbox Code Playgroud) 我想要可视化sqlite数据库.有几个页面讨论这个,但这些解决方案都不适用于我使用sqlfairy或SchemaDisplay 可视化数据库模式或轻松可视化的好工具.似乎问题出在SQLite.JDBCDriver上.这里是关于java和sqlite的讨论,但我无法弄清楚.我所做的是将sqlite-jdbc-3.7.2.jar重命名为sqlite.jar,希望这有所帮助,但你可以看到运气不好.
[pista@HP-PC schemaspy]$ ls -l
total 7084
drwxrwxr-x 3 pista pista 4096 Dec 12 22:34 javasqlite
drwxrwxr-x 2 pista pista 4096 Dec 12 22:05 lib
drwxrwxr-x 14 pista pista 4096 Dec 12 22:15 mendeley
drwxrwxr-x 2 pista pista 4096 Dec 12 22:13 out
drwxrwxr-x 2 pista pista 4096 Dec 12 22:05 properties
-rw-rw-r-- 1 pista pista 2655 Feb 22 2009 README.TXT
-rw-rw-r-- 1 pista pista 248945 Aug …Run Code Online (Sandbox Code Playgroud) 对于执行存储在变量中的eval命令,使用命令:
???> a="echo -e 'a\nb' | wc -l"
???> eval $a
2
Run Code Online (Sandbox Code Playgroud)
但它如何与timeout命令结合?我试过以下哪个给了我错误的输出:
???> timeout 10 $a
'a
b' | wc -l
Run Code Online (Sandbox Code Playgroud)
以下给出了我的错误:
???> timeout 10 "$a"
timeout: failed to run command `echo -e \'a\\nb\' | wc -l': No such file or directory
???> timeout 10 $(eval $a)
timeout: failed to run command `2': No such file or directory
???> timeout 10 $(eval "$a")
timeout: failed to run command `2': No such file or directory
Run Code Online (Sandbox Code Playgroud)
问题还可以解决:我怎样才能确定以下命令是否正确执行? …
我希望能够滚动代表日期/时间的 x(水平)线。为此,我使用slider widget。问题是,当我滚动太远(不存在 y 值)时,我无法再使用滑块小部件提供的滚动功能,并且整个绘制的线会消失并仅保留空图。我在终端上收到的错误如下:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1535, in __call__
return self.func(*args)
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 586, in callit
func(*args)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 365, in idle_draw
self.draw()
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 349, in draw
FigureCanvasAgg.draw(self)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 469, in draw
self.figure.draw(self.renderer)
File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1079, in draw
func(*args)
File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File …Run Code Online (Sandbox Code Playgroud) 在 perl 中,我可以创建一维数组,然后从它们创建二维数组,如下所示:
@a1=(a,b,c)
@a2=(d,e,f)
@a3=(g,h,i)
@m23_v1=(\@a1,\@a2,\@a3)
Run Code Online (Sandbox Code Playgroud)
这是另一种方式(假设@a1、@a2和@a3与前面的示例相同):
@m23_v2=([@a1],[@a2],[@a3])
Run Code Online (Sandbox Code Playgroud)
这两种方式之间的区别在于,当使用反斜杠时,更改$a[0][0]也会更改$a1[0]。另一方面,当使用括号时,值将被复制,因此更改$a[0][0]不会更改$a1[0]。波纹管是变量的内存地址,它们应该阐明我的意思:
print \$a1[0]
SCALAR(0x2006c0a0)
print \$m23_v1[0][0]
SCALAR(0x2006c0a0)
print \$m23_v2[0][0]
SCALAR(0x2030a7e8)
Run Code Online (Sandbox Code Playgroud)
如何在 C 中实现相同的功能?我试过以下代码:
# include <stdio.h>
int main(){
int a1[3] = {1,2,3};
int a2[3] = {4,5,6};
int m23[2][3] = {a1, a2};
printf("%d\n", a1[0]);
printf("%d\n", m23[0][0]);
}
Run Code Online (Sandbox Code Playgroud)
但它给了我以下编译警告:
2d.c: In function ‘main’:
2d.c:4:3: warning: initialization makes integer from pointer without a cast [enabled by default]
2d.c:4:3: warning: (near …Run Code Online (Sandbox Code Playgroud) 我正在读这个关于从绝对路径导入模块的问题.答案建议使用以下代码:
import imp
foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()
Run Code Online (Sandbox Code Playgroud)
我想从具有以下结构的dir导入文件(它是包):
__int__.py
model_params.py
Run Code Online (Sandbox Code Playgroud)
我这样做了:
import01 = imp.load_source('module.name', '/home/wakatana/experiments/model_params/model_params.py')
Run Code Online (Sandbox Code Playgroud)
现在我可以访问model_params.pyvia中的变量了import01.VARIABLE_NAME.这似乎相当于import numpy as np.哪里model_params.py是喜欢numpy和import01喜欢np.
我想问一下load_source方法的第一个参数是做什么的?help(imp)几乎没有关于load_source方法的说法,例如跟随help(imp.load_source)回报load_source(...)
谢谢
编辑基于behzad.nouri评论
在load_source的文档页面上说:
name参数用于创建或访问模块对象.
但是当我尝试访问时,module.name我得到一个关于未定义模块的错误.另外,为什么没有可以访问的文档,help我能以某种方式安装吗?我希望文档是python中代码本身的一部分,或者通常的做法是不内置它而是让它在线?
我想用rollapply函数的各种组合width,by和FUN参数(width和by应具有相同的值).我在这里受到启发并创建了以下代码,但它与目前无关rollapply,它只是演示如何将多个参数传递给函数内部apply:
> dframe <- expand.grid(c(1,2,3), c(1,2,3))
> testFunc <- function(a, b) a^2 + b
> apply(dframe, 1, function(x) testFunc(x[1], x[2]))
[1] 2 5 10 3 6 11 4 7 12
> apply(dframe, 1, function(x) x[1]^2 + x[2])
[1] 2 5 10 3 6 11 4 7 12
> apply(dframe, 1, function(x) (x[1]^2 + x[2]))
[1] 2 5 10 3 6 11 4 …Run Code Online (Sandbox Code Playgroud) 我有功能,我想扩展能够将结果保存到csv文件.应根据传递给此函数的data.frame名称生成csv文件的名称:
my.func1 <- function(dframe, ...){
# PART OF CODE RESPONSIBLE FOR COMPUTATION
# ...
# PART OF CODE WHERE I WANT TO STORE RESULTS AS CSV
csv <- deparse(substitute(dframe))
csv
}
Run Code Online (Sandbox Code Playgroud)
当我按照以下方式调用此函数时,将正确解释传递给此函数的数据集的名称:
> my.func1(mtcars)
[1] "mtcars"
Run Code Online (Sandbox Code Playgroud)
但我需要从列表中为每个data.frame调用此函数.如果我从列表中为特定的data.frame调用此函数,那么它基本上正在工作(我得到了包含列表名称的丑陋名称,但是一个解决方法可以使用正则表达式修剪它):
> LoDFs <- list(first=data.frame(y1=c(1,2,3), y2=c(4,5,6)), second=data.frame(yA=c(1,2,3), yB=c(4,5,6)))
> my.func1(LoDFs$first)
[1] "LoDFs$first"
Run Code Online (Sandbox Code Playgroud)
问题是我想从列表中为所有data.frames调用此函数.在这种情况下,data.frame的名称是混乱的:
> lapply(LoDFs, my.func1)
$first
[1] "X[[i]]"
$second
[1] "X[[i]]"
> lapply(seq_along(LoDFs), function(x) { my.func1(LoDFs[[x]]) })
[[1]]
[1] "LoDFs[[x]]"
[[2]]
[1] "LoDFs[[x]]"
Run Code Online (Sandbox Code Playgroud)
我做错了什么,如何避免使用正则表达式提及的解决方法并使代码更健壮?