小编dew*_*wet的帖子

如何将Python字典存储为环境变量

我试图存储一个Python可以作为字典读入的环境变量.如果这是一个坏主意,请让我知道你的建议,我渴望学习.我担心如果我将数据存储为多个环境变量,可能会变得难以管理.

我编写了一个Raspberry Pi解锁门,根据来电号码拨打Twilio号码的来电ID,它运行良好.我想在Github上分享我的代码以获得反馈,但我不想与世界分享我的电话号码列表,因此我试图将其保存为环境变量,然后让Python读取它.

电话号码在这样的Python字典中.

building_admins = {
    "+27792955555": "De Wet",
    "+27722855555": "Marysol",
    "+27878085555": "Blomerus",
}
Run Code Online (Sandbox Code Playgroud)

我试图在Ubuntu 14.04上将其保存为环境变量

export BUILDING_ADMINS='{
    "+27792955555": "De Wet",
    "+27722855555": "Marysol",
    "+27878085555": "Blomerus",
}'
Run Code Online (Sandbox Code Playgroud)

1)我无法让Linux保存环境变量,我能做些什么来使它工作?

2)我觉得必须有一个更好的方法来做到这一点,我走错了方向,但我似乎找不到谷歌搜索正在解决我面临的问题.请指出我正确的方向.

python dictionary environment-variables

10
推荐指数
4
解决办法
6610
查看次数

在一行上实例化两个实例时出现意外的Ruby行为

我创建了一个为每个实例生成不同名称的类,但是在一个语句中实例化两个实例时,测试意外失败.

这是班级.

class Robot
  attr_accessor :name
  @@current_name = 'AA000'
  def initialize
    @name = @@current_name
    @@current_name.next!
  end
end
Run Code Online (Sandbox Code Playgroud)

这里的类表现如预期

irb(main):009:0> Robot.new.name
=> "AA001"
irb(main):010:0> Robot.new.name
=> "AA002"
Run Code Online (Sandbox Code Playgroud)

这是我所期待的意外行为false.这段代码正在测试我试图通过的练习,所以我不能改变测试.

irb(main):011:0> Robot.new.name == Robot.new.name
=> true
Run Code Online (Sandbox Code Playgroud)

检查object_id显示正在创建两个不同的实例.

irb(main):012:0> Robot.new.object_id == Robot.new.object_id
=> false
Run Code Online (Sandbox Code Playgroud)

为什么Ruby会这样做,我该怎么做才能修复它并假设有一个术语,我可以在搜索中键入什么来查找有关此问题的已回答问题.

ruby testing instance

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