小编zza*_*art的帖子

PyYAML:控制yaml.load()调用的项的排序

我有一个yaml设置文件,它在db中创建一些记录:

setting1:
  name: [item,item]
  name1: text
anothersetting2:
  name: [item,item]
  sub_setting:
      name :[item,item]
Run Code Online (Sandbox Code Playgroud)

当我使用setting3更新此文件并在db中重新生成记录时:

import yaml
fh = open('setting.txt', 'r')
setting_list = yaml.load(fh)
for i in setting_list:
    add_to_db[i]
Run Code Online (Sandbox Code Playgroud)

至关重要的是,它们的设置顺序(db中的id号)每次都保持相同,因为我将它们添加到db ...并且setting3只是附加到yaml.load()的末尾,因此它的id不会'混淆已经在数据库中的任何记录......每次我添加另一个设置并调用yaml.load()记录时,会以不同的顺序加载,从而产生不同的ID.我欢迎任何想法;)

编辑: 我已经遵循了abarnert提示并采取了这个要点https://gist.github.com/844388

按预期工作谢谢!

python pyyaml

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

uWSGI根据环境变量设置配置

请帮助我理解uWSGI配置逻辑。我有一个环境变量ENVIRONMENT。假设它的值可以是devprod。我想根据以下值设置配置选项ENVIRONMENT

# always executes print statement, doesn't matter what ENVIRONMENT is set to
if-env= ENVIRONMENT
if-opt: %(_)=dev
print = RUNNING %(_)
endif:
endif =

# always executes print statement, doesn't matter what ENVIRONMENT is set to
running = ENVIRONMENT
if-opt: running=dev
print = RUNNING %(_)
endif:
Run Code Online (Sandbox Code Playgroud)

我假设 ifENVIRONMENT设置为块内的prod任何赋值或print语句都if-opt不会执行。但事实并非如此。

uwsgi

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

非阻塞http请求循环

我想写一个简单的系统托盘应用程序,它检查一些Web服务的状态,并根据给出的响应更改其图标.我正在以非阻塞方式进行分散,以便程序仍然响应,因为它每10秒触发一次http请求.你能帮忙吗 - 我对winapi来说是一个彻头彻尾的菜鸟???

#!/usr/bin/env python
# Module     : SysTrayIcon.py
# Synopsis   : Windows System tray icon.
# Programmer : Simon Brunning - simon@brunningonline.net
# Date       : 11 April 2005
# Notes      : Based on (i.e. ripped off from) Mark Hammond's
#              win32gui_taskbar.py and win32gui_menu.py demos from PyWin32
'''TODO

For now, the demo at the bottom shows how to use it...'''

import json
import time
import urllib2         
import os
import sys
import win32api
import win32con
import win32gui_struct
try:
    import winxpgui as …
Run Code Online (Sandbox Code Playgroud)

winapi pywin32 win32gui

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

在 cygwin 上安装 uwsgi

有人设法在 cygwin (python 2.7) 上安装 uwsgi 吗?

\n\n
{ uwsgi-2.0.11.2 }  \xc2\xbb python setup.py install\nrunning install\nusing profile: buildconf/default.ini\ndetected include path: [\'/usr/lib/gcc/i686-pc-cygwin/4.9.2/include\', \'/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed\', \'/usr/include\', \'/usr/lib/gcc/i686-pc-cygwin/4.9.2/../../../../include/w32api\']\nPatching "bin_name" to properly install_scripts dir\ndetected CPU cores: 1\nconfigured CFLAGS: -O2 -I. -Wall -Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-strict-aliasing -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -DUWSGI_HAS_IFADDRS -DUWSGI_ZLIB -DUWSGI_LOCK_USE_WINDOWS_MUTEX -DUWSGI_EVENT_USE_POLL -DUWSGI_EVENT_TIMER_USE_NONE -DUWSGI_EVENT_FILEMONITOR_USE_NONE -DUWSGI_UUID -DUWSGI_VERSION="\\"2.0.11.2\\"" -DUWSGI_VERSION_BASE="2" -DUWSGI_VERSION_MAJOR="0" -DUWSGI_VERSION_MINOR="11" -DUWSGI_VERSION_REVISION="2" -DUWSGI_VERSION_CUSTOM="\\"\\"" -DUWSGI_YAML -DUWSGI_SSL -DUWSGI_PLUGIN_DIR="\\".\\"" -DUWSGI_DECLARE_EMBEDDED_PLUGINS="UDEP(python);UDEP(gevent);UDEP(ping);UDEP(cache);UDEP(nagios);UDEP(rrdtool);UDEP(carbon);UDEP(rpc);UDEP(corerouter);UDEP(fastrouter);UDEP(http);UDEP(signal);UDEP(syslog);UDEP(rsyslog);UDEP(logsocket);UDEP(router_uwsgi);UDEP(router_redirect);UDEP(router_basicauth);UDEP(zergpool);UDEP(redislog);UDEP(mongodblog);UDEP(router_rewrite);UDEP(router_http);UDEP(logfile);UDEP(router_cache);UDEP(rawrouter);UDEP(router_static);UDEP(sslrouter);UDEP(spooler);UDEP(cheaper_busyness);UDEP(symcall);UDEP(transformation_tofile);UDEP(transformation_gzip);UDEP(transformation_chunked);UDEP(transformation_offload);UDEP(router_memcached);UDEP(router_redis);UDEP(router_hash);UDEP(router_expires);UDEP(router_metrics);UDEP(transformation_template);UDEP(stats_pusher_socket);" -DUWSGI_LOAD_EMBEDDED_PLUGINS="ULEP(python);ULEP(gevent);ULEP(ping);ULEP(cache);ULEP(nagios);ULEP(rrdtool);ULEP(carbon);ULEP(rpc);ULEP(corerouter);ULEP(fastrouter);ULEP(http);ULEP(signal);ULEP(syslog);ULEP(rsyslog);ULEP(logsocket);ULEP(router_uwsgi);ULEP(router_redirect);ULEP(router_basicauth);ULEP(zergpool);ULEP(redislog);ULEP(mongodblog);ULEP(router_rewrite);ULEP(router_http);ULEP(logfile);ULEP(router_cache);ULEP(rawrouter);ULEP(router_static);ULEP(sslrouter);ULEP(spooler);ULEP(cheaper_busyness);ULEP(symcall);ULEP(transformation_tofile);ULEP(transformation_gzip);ULEP(transformation_chunked);ULEP(transformation_offload);ULEP(router_memcached);ULEP(router_redis);ULEP(router_hash);ULEP(router_expires);ULEP(router_metrics);ULEP(transformation_template);ULEP(stats_pusher_socket);"\n*** uWSGI compiling server core ***\n[gcc] core/utils.o\ncore/utils.c: In function \xe2\x80\x98uwsgi_as_root\xe2\x80\x99:\ncore/utils.c:848:4: error: implicit declaration of function \xe2\x80\x98initgroups\xe2\x80\x99 [-Werror=implicit-function-declaration]\n    if (initgroups(uidname, uwsgi.gid)) …
Run Code Online (Sandbox Code Playgroud)

cygwin uwsgi

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

如何制作 VirtualBox 会话的视频捕获?

我正在寻找一种方法来启动虚拟机并将其会话记录为视频。我知道角落里有一个小相机图标,但我正在寻找一种方法来编写它,因此需要一个命令行选项。我浏览了 VirtualBox 手册,但看不到相应的命令。我找到了一个拍摄屏幕的选项

VBoxManage controlvm <vm name> screenshotpng <filename>.png 
Run Code Online (Sandbox Code Playgroud)

仍然没有找到视频选项......请帮忙!

virtualbox virtual-machine

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

Pipenv未设置PYTHONPATH

我有以下结构

.
??? module1
?   ??? __init__.py
?   ??? start.py
??? module2
?   ??? __init__.py
?   ??? settings.py
??? Pipfile
Run Code Online (Sandbox Code Playgroud)

猫模块1 / start.py

from module2.settings import VAR

if __name__ == '__main__':
    print(VAR)
Run Code Online (Sandbox Code Playgroud)

猫模块2 / settings.py

VAR = 'foo'
Run Code Online (Sandbox Code Playgroud)

如果我尝试运行程序,我会得到

pipenv shell
python module1/start.py

Traceback (most recent call last):
  File "module1/start.py", line 1, in <module>
    from module2.settings import VAR
ModuleNotFoundError: No module named 'module2'
Run Code Online (Sandbox Code Playgroud)

要么

pipenv run python module1/start.py

Traceback (most recent call last):
  File "module1/start.py", line 1, in <module>
    from …
Run Code Online (Sandbox Code Playgroud)

python pipenv

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