小编mli*_*ner的帖子

如何在Python中重命名文件并保留创建日期

我知道创建日期并没有存储在文件系统本身,但我遇到的问题是,当我使用时os.rename,它正在更新我正在使用的文件的创建日期.

是否可以重命名文件而不更改其原始创建日期?

python filesystems

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

如何在Python类中设置属性

OO不是我最强的套装,所以请耐心等待.我想设计一个这样的类结构:

class Mammal(object):
    def __init__(self):
        super(Mammal, self).__init__()
        self.dna_sequence = self.sequence_dna()

    def sequence_dna(self):
        blood_sample = 42
        # Code goes here to sequence the mammal's DNA - may take a while.
Run Code Online (Sandbox Code Playgroud)

然后,在另一个班级,我想继承哺乳动物:

class Human(Mammal):
    super(Human, self).__init__()
    self.dna_sequence = self.sequence_dna()

    def sequence_dna(self):
        blood_sample = 43
        # use blood sample and Human algo to sequence it.
Run Code Online (Sandbox Code Playgroud)

所以这就是我被困住的地方.当我创建Human对象时,我不希望它去进行DNA测序,因为这需要一段时间.但我需要Human对象具有dna_sequence属性,以便我可以稍后进行排序.解决方案是在init方法中设置属性,但是要设置它None直到调用sequence_dna方法?看起来像kludgy,特别是因为我有很多变量,所有变量都取决于DNA测序的结果,因此设置为无.

我觉得我错过了一块拼图......

python oop

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

Django REST框架:每用户限制

我的用户需要非常高的节流阀,所以他们可以使用很多系统.是否有一种简单的方法可以让它们比其他用户更高的节流?

我环顾四周但没找到任何东西.

django throttling django-rest-framework

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

对于不会使用的变量的Python约定,但是仍然可以从函数中重新定义

如果我有如下功能:

def foo():
    return 1, 2
Run Code Online (Sandbox Code Playgroud)

我通常称这个函数为:

g, f = foo()
Run Code Online (Sandbox Code Playgroud)

但是,如果我从未计划使用返回的第二个值,是否有一种方法可以调用使其清晰的函数,所以将来我不会被一个place-filler变量分心?

例如,类似于:

g, not_used = foo()
Run Code Online (Sandbox Code Playgroud)

似乎有一种标准的方法可以做到这一点.

python convention

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

如何使类数据可排序

这肯定是重复的,但是说我有一个类如下:

class MyObj(object):
    def __init__(self, *args, **kwargs):
        self._data = [2, 1, 3]
        self._more_data = [False, True, False]
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它可以排序,而不是与其他MyObj对象(我可以用它做__lt__),但在内部?所以如果我打电话给sorted(my_obj_instance)我得到一个包含以下数据的版本:

self._data = [1,2,3]
self._more_data [True, False, False]
Run Code Online (Sandbox Code Playgroud)

也就是说,_data按数字排序,_more_data已相应排序.

python sorting

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

Django-payments:如何保密密钥?

我正在使用库Django-payments并希望将 Paypal、Stripe、.. 密钥放在视线之外。

如何保持Secret Key隐藏,而不是在DEBUG页面(设置部分)中清晰显示?

PAYMENT_VARIANTS    
{'stripe': ('payments.stripe.StripeProvider',
            {'public_key': 'pk_test_i7RTWcR0w8aK3KZB2yEfeGVi',
             'secret_key': 'sk_test_k4aH2sWIisUK0TqtPwdUmJ6o'})}
Run Code Online (Sandbox Code Playgroud)

其他一些密码是隐藏的:

SECRET_KEY  u'********************'
Run Code Online (Sandbox Code Playgroud)

生产环境设置为 DEBUG = False。但是测试环境将允许开发和质量保证团队中的任何人获得密钥。

将密钥从settings.py环境变量移动到环境变量的其他帖子建议。我做的:

if os.environ.get("STRIPE_SECRET_KEY"):
    PAYMENT_VARIANTS = {
        'stripe': ('payments.stripe.StripeProvider', {
            'secret_key': os.environ.get("STRIPE_SECRET_KEY"),
            'public_key': 'pk_test_k4aH2sWIisUK0TqtPwdUmJ6o'}),
    }
else:
    PAYMENT_VARIANTS = {
        'stripe': ('payments.stripe.StripeProvider', {
            'secret_key': 'sk_test_i7RTWcR0w8aK3KZB2yEfeGVi',
            'public_key': 'pk_test_k4aH2sWIisUK0TqtPwdUmJ6o'}),
    }
Run Code Online (Sandbox Code Playgroud)

将 KEYS 放在环境变量中没有帮助,因为它仍然会出现在这里。

谢谢!

Ps:这些不是实际的钥匙。

django

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

同步远程主机上的目录

我想在远程主机上制作目录的副本.我试图使用的任务是:

  - name: copy old core configs to new Solr
    become: yes
    become_user: root
    synchronize:
      src="/usr/local/solr/example/solr/collection1/"
      dest="/usr/local/solr-4.10.4/example/solr/collection1"
      recursive=yes
    delegate_to: "{{ inventory_hostname }}"
Run Code Online (Sandbox Code Playgroud)

但它似乎永远地悬挂着,看着iotop它似乎没有被复制的东西.我期望这样做是通过SSH进入远程主机,并从一个目录到另一个目录执行rsync.我错过了什么吗?

ansible

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

如何在 Celery 中将任务添加到组中?

我想在我的代码中逐步构建一Celery 任务,因为我将在循环中根据逻辑创建任务。

例如:

my_group = group()
for item in items:
    if item.is_special():
        # This doesn't work...
        my_group.add(special_processing.s(item.id))
    else:
        my_group.add(regular_processing.s(item.id))

 res = my_group()
Run Code Online (Sandbox Code Playgroud)

我读过组是部分,这很好,但是您如何组合部分以便它们形成一个组?

python distributed-computing celery

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