小编Tor*_*cht的帖子

Python:我可以使用类变量作为线程锁吗?

我正在考虑使用类变量作为线程锁,因为我不想在全局变量中定义锁并且还想防止死锁.这实际上有用吗?例:

import threading

class A(object):
    lock = threading.Lock()
    a = 1

    @classmethod
    def increase_a(cls):
        with cls.lock:
            cls.a += 1
Run Code Online (Sandbox Code Playgroud)

考虑到我不会A.lock在类的内部或外部重新分配变量,我的假设是它被视为全局锁定?它是否正确?

python multithreading locks

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

Django unittest's:如何使用临时url conf为unittest设置临时视图

我创建了几个中间件类,并希望现在针对一些真实的视图测试它们.由于我的应用程序不包含任何视图或url conf本身,我想知道是否有办法临时创建视图和url配置只是为了测试(类似于测试数据库)Django的测试框架.最后,我想使用测试客户端来检查这些临时视图,以防止来自中间件的错误.我没有在文档中找到解决方案.

我知道我可以在我的应用程序中创建一个测试视图(在views.py中)并从项目ROOT_URLCONF指向它,但我不想在使用我的应用程序并希望测试我的中间件类时强制用户执行此操作.

有任何想法吗?

谢谢.

django unit-testing

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

使用docker-compose时调试链接的docker容器

让我们假设我有以下docker-compose.yml文件并行运行两个不同的python应用程序(例如通过烧瓶):

app1:
  command: python app.py
  build: app1/

app2:
  command: python app.py
  build: app2/
  links:
    - app1
Run Code Online (Sandbox Code Playgroud)

app2app1因为我希望从中获取特定数据app1.现在我的问题是我想要调试此链接的某个场景.我可以轻松地调试app1app2作为独立容器(通过docker-compose run --service-ports ... python app.py并放置pdb在代码中的某个位置).我的问题是当我想要调试app1以防请求来自app2.如果我开始app1使用docker-compose run,那么app2是不是能够解决的链接.随着更多应用/服务根据链接相互"交谈",这个问题变得更加严重.

有没有一个好方法来处理这个?你如何处理链接容器的调试问题(不一定是python的特定)?感谢您的投入.

python docker docker-compose

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

vim:在当前行上方与当前行一起划线

我发现自己Nyy经常把N-1下面的当前线和线拉下来.所以3yy会猛拉当前线和另外两条线(所以一起3).

我知道如何N在当前行(yNk)上方划线,但这不包括当前行.我想要的是猛拉N-1上面的当前线和线.我该怎么做(理想情况下也可以使用yy命令)?

编辑:显然也yNk包括当前行.我一定错过了.感谢你的评论.

vim

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

Python Regexp:查找包含OR和AND的查询字符串中的所有单词/短语

我有一个这样的查询字符串:

s = 'word1 AND word2 word3 OR "word4 word5" OR word6 AND word7 word8'
Run Code Online (Sandbox Code Playgroud)

我需要找到OR和AND中的所有单词或短语,因此结果将是这样的列表(最好没有AND/OR和单词/短语之间的空格):

l = ['word1', 'word2 word3', '"word4 word5"', 'word6', 'word7 word8']
Run Code Online (Sandbox Code Playgroud)

我已经尝试过乱用正则表达式但是找不到办法做到这一点.

谢谢您的帮助.

python regex

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