小编mod*_*tos的帖子

Python:在subprocess.Popen(..)中导出环境变量

我在调用时设置环境变量时遇到问题subprocess.Popen.环境变量似乎没有设置.有关如何为Python命令行调用正确设置环境变量的任何建议?

我的目标是运行一个脚本,该脚本使用根据我的Python代码确定的环境变量:

d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen('/usr/bin/mybinary', env=d).wait()
Run Code Online (Sandbox Code Playgroud)

但脚本的反应就像从未设置变量一样

这是我尝试使用Python的交互式解释器进行测试:

d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen(['/bin/echo', '$TEST_VARIABLE'], env=d).wait() 
Run Code Online (Sandbox Code Playgroud)

输出是:

"$TEST_VARIABLE"
0
Run Code Online (Sandbox Code Playgroud)

我认为env=d应该为子进程设置环境,但显然没有.有关如何纠正此问题的任何建议?

python environment-variables python-2.7

28
推荐指数
3
解决办法
3万
查看次数

在Python方法签名中, - >(大于箭头符号)是什么意思?

->python方法的末尾有一个或大于符号的符号,我不确定它的含义.人们可能也称它为箭头.

这是一个例子:

@property
def get_foo(self) -> Foo:
    return self._foo
Run Code Online (Sandbox Code Playgroud)

其中self._foo是Foo的一个实例.

我的猜测是它是某种静态类型声明,告诉解释器self._foo类型为Foo.但是当我测试这个时,如果self._foo不是Foo的一个实例,就不会发生异常.此外,如果self._foo是Foo以外的类型int,那么假设它是一个,然后type(SomeClass.get_foo())返回int.那么,有什么意义-> Foo呢?

这个概念很难查找,因为它是一个没有通用名称的符号,术语"箭头"具有误导性.

python python-3.x

25
推荐指数
1
解决办法
1万
查看次数

git分支名称的最大长度

我想了解什么是git分支名称的最大允许大小.

我正在尝试创建一些长名称(作为实验),所以370个字符的名称是有效的,但380个字符给了我 fatal: Failed to lock ref for update: File name too long

所以问题是:git branch name中可以包含的最大字符数是多少?它取决于系统吗?是否可以在存储库中创建长分支名称,该名称将在远程存储库(即Github)上被拒绝?

git github

23
推荐指数
1
解决办法
1万
查看次数

为什么mergesort空间复杂度O(log(n))与链表?

数组上的Mergesort的空间复杂度为O(n),而链表上的mergesort的空间复杂度为O(log(n)),此处记录

我相信我了解数组的情况,因为在合并两个子数组时我们需要辅助存储.但是链接列表合并排序不会合并两个子链接列表到位吗?我认为这会产生空间复杂度O(1)来创建一个新头.

合并(无辅助存储):

public Node merge(Node a, Node b) {
    Node dummyHead, curr; dummyHead = new Node(); curr = dummyHead;
    while(a !=null && b!= null) {
        if(a.info <= b.info) { curr.next = a; a = a.next; }
        else { curr.next = b; b = b.next; }
        curr = curr.next;
    }
    curr.next = (a == null) ? b : a;
    return dummyHead.next;
}
Run Code Online (Sandbox Code Playgroud)

解释会很棒.

arrays sorting algorithm linked-list

22
推荐指数
2
解决办法
2万
查看次数

如何在Emacs中设置默认工作目录 - 故障排除

我知道这已被多次发布,但解决方案对我不起作用.我已经尝试过这篇文章中的以下解决方案(更改Emacs中的默认文件夹):

  • 解决方案1:添加(cd "C:/Users/Name/Desktop").emacs文件中
  • 解决方案2:添加(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" ).emacs文件中
  • 解决方案3:右键单击emacs快捷方式,点击属性并将字段中的开头更改为所需目录.

只有解决方案3正在运行.不幸的是,我需要使用解决方案1或2.

我相信,我的.emacs文件是正确的,因为我的主题被正确的加载/卸载时我添加/删除(load-theme 'light-blue t).emacs文件.

这是我最近的.emacs文件:

(message "Default Dir: %S" default-directory)
(setq-default default-directory "C:/Users/Lucas/")
(message "Default Dir: %S" default-directory)
(setq-default indent-tabs-mode nil)
(add-hook 'ruby-mode-hook
      (lambda ()
        (define-key ruby-mode-map "\C-c#" 'comment-or-uncomment-region)
        )
 )  
(defadvice comment-or-uncomment-region (before slick-comment activate compile)
  "When called interactively with no active region, comment a single line instead."
  (interactive
   (if …
Run Code Online (Sandbox Code Playgroud)

emacs working-directory

17
推荐指数
3
解决办法
2万
查看次数

Linux更改组权限以匹配所有者权限

假设我在Linux上有一个目录,包含一堆文件和子目录.这是根目录:

drwxr-xr-x  13 user1 group1    4096 May  7 15:58 apps
Run Code Online (Sandbox Code Playgroud)

现在,我只想更改这些权限的组部分.我想以一种与所有者部分完全匹配的方式改变它.该目录的结果将是:

drwxrwxr-x  13 user1 group1    4096 May  7 15:58 apps
Run Code Online (Sandbox Code Playgroud)

但是,我想要一个脚本或命令自动执行此操作,不仅针对该目录,而且针对每个子目录和文件递归地执行此操作.谁知道怎么样?

谢谢.

linux filesystems permissions bash chmod

16
推荐指数
1
解决办法
7511
查看次数

...此内容也应通过HTTPS加载

美好的一天.

网站https://mult-privet.com/

在我的Chrome控制台中,我看到了以下错误:

[blocked] The page at 'https://yandex.st/share/ya-share-cnt.html?url=
https%3A%2F%2Fmult-privet.com%2F&services=yaru,
vkontakte,facebook,twitter,odnoklassniki,moimir' 
was loaded over HTTPS, but ran insecure content 
from 'http://connect.odnoklassniki.ru/dk?st.cmd=extOneClickLike&uid=odklocs0&
ref=https%3A%2F%2Fmult-privet.com%2F': 
this content should also be loaded over HTTPS.
Run Code Online (Sandbox Code Playgroud)

为什么还要通过HTTPS加载此URI?

为什么我收到此错误,如何删除它?

javascript https jquery

16
推荐指数
3
解决办法
2万
查看次数

Docker:如何从Github存储库上的非主分支构建映像

是否可以从Github存储库上的非主分支构建映像?

例如,我有一个存储库,//github.com/myAccount/docker-myImage其中包含一个development我想用于图像的分支.不幸的是,以下命令似乎只允许从master分支构建:

docker build -t myAccount/myImage git://github.com/myAccount/docker-myImage
Run Code Online (Sandbox Code Playgroud)

以下是相关文档man docker build:

docker build github.com/scollier/Fedora-Dockerfiles/tree/master/apache
Run Code Online (Sandbox Code Playgroud)

也许有另一种选择,比如docker build -t myAccount/myImage git://github.com/myAccount/docker-myImage:development

git branch github docker

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

运行SQL时,Bash中的`<< - EOSQL`代码块是什么?

我需要执行一个包含SQL的bash脚本,所以我使用脚本将自定义配置添加到Postgres Docker容器中,根据这里的文档:

https://github.com/docker-library/docs/tree/master/postgres#how-to-extend-this-image

但我不知道是什么EOSQL意思.以下是从上述文档中获取的脚本示例:

#!/bin/bash
set -e

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
    CREATE USER docker;
    CREATE DATABASE docker;
    GRANT ALL PRIVILEGES ON DATABASE docker TO docker;
    CREATE EXTENSION $MY_EXTENSION;
EOSQL
Run Code Online (Sandbox Code Playgroud)

那么,什么是EOSQL?我似乎无法找到有关此命令或关键字的更多信息.

postgresql bash environment-variables docker

10
推荐指数
1
解决办法
5022
查看次数

Emacs:如何大写所有关键字(SQL中的示例)

例如,我在SQL[ANSI]模式中有以下示例SQL文档:

create table title_price as 
select title, price 
from frumble 
group by title, price 
order by title;

select *, count(*) 
from frumble 
group by title, price 
order by title;
Run Code Online (Sandbox Code Playgroud)

如何利用关键字任何想法,比如select,from,group,by,table,as,等?它们已在我的编辑器中以蓝色字体显示.

sql emacs

9
推荐指数
2
解决办法
980
查看次数