我正在尝试运行Python应用程序而不保留.py
源文件,只依赖于.pyc
编译的文件.但是,当我删除.py
源文件时,我收到导入错误.此功能在Python 2.7中有效,但在3.4中没有(使用新__pycache__
结构).
这是一个示例目录结构:
Run Code Online (Sandbox Code Playgroud)package/ __init__.py module.py
首先让我们看看当我使用Python 2.7时会发生什么(这是所需的行为)
$ python2 -c "from package import module"
$ find package -name "*.py" -delete
$ python2 -c "from package import module"
Run Code Online (Sandbox Code Playgroud)
这一切都很好,不会抛出任何错误.执行此操作后的目录结构如下所示,.pyc
文件与原始.py
文件一起:
Run Code Online (Sandbox Code Playgroud)package/ __init__.pyc module.pyc
现在,让我们用Python 3.4做同样的事情,再次从我们的原始目录结构开始
$ python3 -c "from package import module"
$ find package -name "*.py" -delete
$ python3 -c "from package import module"
Traceback (most recent call last):
File "<string>", line 1, in …
Run Code Online (Sandbox Code Playgroud) 我目前有一个存储在列表中的连接列表,其中每个连接是一个连接两个点的有向链接,没有任何点链接到多个点或链接到多个点.例如:
connections = [ (3, 7), (6, 5), (4, 6), (5, 3), (7, 8), (1, 2), (2, 1) ]
Run Code Online (Sandbox Code Playgroud)
应该产生:
ordered = [ [ 4, 6, 5, 3, 7, 8 ], [ 1, 2, 1 ] ]
Run Code Online (Sandbox Code Playgroud)
我尝试使用一种算法来做到这一点,该算法采用输入点和连接列表,并递归调用自身以找到下一个点并将其添加到增长的有序列表中.但是,当我没有从正确的点开始时,我的算法会崩溃(尽管这应该只是反向重复相同的算法),但是当有多个未连接的链时
编写有效算法来订购这些连接的最佳方法是什么?
我喜欢在 ssh_config 文件中指定主机/身份文件/等的功能。然而,我理想地希望有几个不同的 SSH 配置,每个配置都有自己的版本控制。有没有办法从 ssh_config 中引用另一个 ssh_config 类型文件?
像这样的东西(语法是我正在寻找的,但在手册页Load
中找不到。
〜/ .ssh /配置
Load config_file_a
Load config_file_b
Run Code Online (Sandbox Code Playgroud)
〜/.ssh/config_file_a
# Options for one host
Host serverA
HostName serverA.myserver.com
Run Code Online (Sandbox Code Playgroud)
〜/.ssh/config_file_b
# Options for another host
Host serverB
HostName serverB.myserver.com
Run Code Online (Sandbox Code Playgroud) 到处都有有关如何执行此操作的指南和问题,但从来没有真正令人满意的具体答案。基本上,我想知道是否可以在GCP Cloud Storage中托管静态SPA(HTML / CSS / JS)。
主要警告是SPA具有自己的路由系统(ReactRouter),因此我希望所有路径都由index.html提供服务。
大多数指南会告诉您将ErrorDocument设置为index.html
而不是404.html
。尽管这是一个聪明的骇客,但它会使站点的HTTP响应代码为404,这对于SEO或监视工具来说是一场灾难。这样就可以了,只要我可以更改响应代码即可。
有什么办法可以使这项工作吗?我也已经启动并运行了CloudFlare,但是据我所知,没有办法修剪路径或从那里更改响应状态。
是否可以使用REST API将事件推送到列表(通过HTTP POST)并指定正在推送的项目的优先级?也许作为JSON中的一个字段我会以某种方式发布?
像这样的东西(半伪代码):
var myObj = {name: 'My Name', address: 'My Address'};
myObj['priority'] = 123;
$.post('http://demo.firebase.com/demo/testing.json', myObj);
Run Code Online (Sandbox Code Playgroud)
我可以使用本机Javascript库以下列方式执行此操作,但这不使用REST API:
var fb = new Firebase('http://demo.firebase.com/demo/testing');
var foo = fb.push({name: 'My Name', address: 'My Address'});
foo.setPriority(1);
Run Code Online (Sandbox Code Playgroud) 有人可以向我解释这种"怪胎"行为是否符合我的预期.
我正在重新编写一些代码,并得到了这个:
我在$ data上创建了一些结果并创建了这个,以确保它的$ data有一些信息.
所以:
if(!$data || empty($data) || count($data) == 0)
Run Code Online (Sandbox Code Playgroud)
并且在if的地方.
所以我做了一些var_dump来看和哇.
var_dump(!$data , empty($data) , count($data));
Run Code Online (Sandbox Code Playgroud)
去吧:
bool(true)
bool(true)
int(1)
Run Code Online (Sandbox Code Playgroud)
count data = 1和!$ data = true和empty($ data)= true?
我希望不是愚蠢的问题,对不起,如果是的话.
是否可以将sh
命令的输出设置为Groovy变量?它似乎是将其设置为命令的状态.
输入示例:
node {
stage "Current Date"
def curDate = sh "date"
echo "The current date is ${curDate}"
}
Run Code Online (Sandbox Code Playgroud)
结果如下:
Entering stage Current Date
Proceeding
[Pipeline] sh
[workspace] Running shell script
+ date
Tue May 10 01:15:05 UTC 2016
[Pipeline] echo
The current date is 0
Run Code Online (Sandbox Code Playgroud)
它显示The current date is 0
,我希望它显示The current date is Tue May 10 01:15:05 UTC 2016
你可以看到sh命令输出.我错了吗?
我通常已H
映射到^
使同一行中的导航更容易一些.
但是,我刚刚遇到一个插件(EasyMotion增强版),它使用H在搜索之前将光标移动到屏幕顶部.该插件似乎很有用,但显然我的H
映射不会很好.
你能想到另一种方法将光标移动到功能中的屏幕顶部吗?基本上,在不使用H的情况下复制H的行为.
我想创建一个vimrc映射,让我可以更快地调整垂直分割的大小.我想过这样做:
noremap <c-[> :vertical resize +5<cr>
noremap <c-]> :vertical resize -5<cr>
Run Code Online (Sandbox Code Playgroud)
它运作得很好.唯一的问题是,因为我正在映射(控制和左方括号),当我在正常模式下击中Escape时,它也会导致分割的大小调整.我认为这是因为你通常可以作为逃避的替代品.
所以问题是,我可以映射该键序列但不映射Escape吗?我在这里丢失了一些蠢货吗?
python ×2
vim ×2
algorithm ×1
cloudflare ×1
firebase ×1
graph-theory ×1
groovy ×1
jenkins ×1
php ×1
pyc ×1
python-3.x ×1
ssh ×1