小编Tal*_*aul的帖子

将Bash变量读入Python脚本

我正在运行一个bash脚本(test.sh),它加载到环境变量(来自env.sh).这工作正常,但我试图看到python可以加载已经在bash脚本中的变量.

是的我知道传递我需要的特定变量作为参数可能更容易,但我很好奇是否有可能获得bash变量.

test.sh

#!/bin/bash
source env.sh

echo $test1

python pythontest.py
Run Code Online (Sandbox Code Playgroud)

env.sh

#!/bin/bash

test1="hello"
Run Code Online (Sandbox Code Playgroud)

pythontest.py

?
print test1 (that is what I want)
Run Code Online (Sandbox Code Playgroud)

python bash scripting environment-variables

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

使用s3cmd检查文件是否在S3存储桶中

我有一个程序,成功上传我需要的所有文件.我每天都有新文件需要上传.我上传文件后,我不再需要它们,因此我不想同步它们.

我很好奇是否有办法检查是否给出了路径和文件名,如果在S3中使用s3cmd存在.

if-statement amazon-s3

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

从Ruby中的文件中读取变量

有没有办法读取环境变量的文件?

在bash中我有一个我可以使用的文件env.sh

env.sh

foo="bar"
Run Code Online (Sandbox Code Playgroud)

bash文件

set -a
source env.sh
Run Code Online (Sandbox Code Playgroud)

这将允许我只使用foo,就像我在ruby脚本中对它进行了删除一样.

还有一种方法可以确保此文件不可读,以便密码可以存储在此文件中吗?

ruby file environment-variables

8
推荐指数
1
解决办法
5501
查看次数

使用Boto告诉文件何时成功上传到Glacier

目前我正在使用Amazon Web Services(AWS)并打开S3存储桶,将其内容保存到EC2中的目录,然后从该目录中的所有内容创建tar文件并将该tar文件推送到AWS Glacier.我试图完成的最后一步是在tar文件成功上传到AWS Glacier时需要终止脚本(需要3-5个小时).

目前,我很难理解如何获取archive_id并询问保险库是否已成功加载tar文件.

要与AWS Glacier交互,我一直在使用python boto工具.我包含了将文件上传到冰川的python\boto代码以及我试图运行的一些快速测试,以确定代码是否已成功上传.到目前为止,所有测试都返回错误.

我排除了一些关于status_code的测试,这些测试也为所有内容返回false,当我尝试打印出任何这些时,只有未完成和正在进行中(正如预期)打印出任何内容,但是当我尝试匹配archive_id时或者retrieve_job到工作列表中返回的内容我没有匹配.另外一个注释是打印时保存的列表,它们都是相同的(Job(arn:aws:glacier:us-east-1:232412618534:vaults/glacier-poc))

如何在工作完成后返回true?

    import boto
    import sys

    ACCESS_KEY_ID = "..."
    SECRET_ACCESS_KEY = "..."
    FILENAME = sys.argv[1]
    GLACIER_VAULT_NAME = sys.argv[2]

    connection = boto.connect_glacier(aws_access_key_id=ACCESS_KEY_ID, aws_secret_access_key=SECRET_ACCESS_KEY)

    vault = connection.get_vault(GLACIER_VAULT_NAME)

    archive_id = vault.upload_archive(FILENAME)

    open("glacier.txt", "a").write(FILENAME + " " + archive_id + "\n")

    retrieve_job = vault.retrieve_archive(archive_id)

    a = vault.list_jobs(completed=True)
    b = vault.list_jobs(completed=False)

    print "Is In Completed List"
    print archive_id in a
    print "Is In NOT Completed List"
    print archive_id in b

    print "Is In Completed List"
    print …
Run Code Online (Sandbox Code Playgroud)

python boto amazon-web-services amazon-glacier

7
推荐指数
1
解决办法
2536
查看次数

枚举中的方法

所以我很困惑,如果在Java枚举中可以有功能.我正在制作一个简单的html编辑器,并希望使用枚举来表示html标签,是的我知道这不是最好的方法,但它是我的小组决定实现它的方式.

所以,我一直在试图做这样的事情,但是当我尝试调用TagEnums.normalTags()它表明使它成为一个静态方法,我想我不知道这是否正确或是否有更好的方式来实现,而不是把它公开ArrayList<String> normalTags()public static ArrayList<String> normalTags()

public enum TagEnum {
    H1, H2, H3, H4, H5, H6, P, B, I, U, BR, HR, RP, RT, RUBY

    public ArrayList<String> normalTags(){
        String normalTags = "H1, H2, H3, H4, H5, H6, P, B, I, U";
        ArrayList<String> tags = new ArrayList<String>();
        for(Enum<?> currentEnum: TagEnum.values()){
            if(normalTags.contains(currentEnum.toString())){
               tags.add("<"+currentEnum.toString().toLowerCase()+">");
               tags.add("</"+currentEnum.toString().toLowerCase()+">");
            }
        }
        return tags;
    }
}
Run Code Online (Sandbox Code Playgroud)

java methods enums function

6
推荐指数
1
解决办法
2973
查看次数

如何将多个变量从python返回到bash

我有一个调用python脚本的bash脚本.起初我只是返回一个变量,这很好,但现在我被告知返回两个变量,我想知道是否有一个简洁的方法来返回多个变量.

archiveID=$(python glacier_upload.py $archive_file_name $CURRENTVAULT)
Run Code Online (Sandbox Code Playgroud)

我是用bash打电话的

print archive_id['ArchiveId']
archive_id['ArchiveId']
Run Code Online (Sandbox Code Playgroud)

这会将归档ID返回给bash脚本

通常我知道你可以在python中使用return语句来返回多个变量,但是它只是一个脚本,就像我发现返回变量一样.我可以使它成为一个被调用的函数,但即便如此,我将如何收到我将要传回的多个变量?

python bash scripting return multiple-value

5
推荐指数
2
解决办法
3555
查看次数

Ruby正则表达式从字符串中删除^ C字符

有一个文件具有控制B和控制C命令分隔文本字段.看起来像:

"TEST\003KEY\002TEST\003KEY"
Run Code Online (Sandbox Code Playgroud)

我试图创建一个与此匹配的正则表达式并将其删除.我不确定为什么这个正则表达式不起作用:

"TEST\003KEY\002TEST\003KEY".gsub(/\00[23]/, ',')
Run Code Online (Sandbox Code Playgroud)

ruby regex special-characters

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

Rails编辑用户路径不起作用

我已经设计了一个验证了的Rails项目。我进入编辑用户页面时遇到问题。

发生什么情况是当我手动转到/users/1/edit可以看到编辑页面时。尽管我似乎无法弄清楚放入代码的途径。当我查看路线时,看起来我所要做的就是edit_user_path。虽然这带给我了/user/1/edit。哪个不正确,不起作用。我试图做edit_users_path那只是失败了。

这是我的路线文件

devise_for :users
resources :users, :only => [:show, :edit, :update ]
resources :users, :controller => "users"
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激

ruby routes ruby-on-rails devise

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