小编hol*_*lys的帖子

Python转储dict到json文件

我有这样的字典:

sample = {'ObjectInterpolator': 1629,  'PointInterpolator': 1675, 'RectangleInterpolator': 2042}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将dict转储到json文件中,如下所示:

{      
    "name": "interpolator",
    "children": [
      {"name": "ObjectInterpolator", "size": 1629},
      {"name": "PointInterpolator", "size": 1675},
      {"name": "RectangleInterpolator", "size": 2042}
     ]
}
Run Code Online (Sandbox Code Playgroud)

有没有pythonic方式来做到这一点?

您可能猜到我想生成一个d3树形图.

python json dictionary

184
推荐指数
7
解决办法
32万
查看次数

困惑的python文件模式"w +"

来自doc,

模式'r +','w +'和'a +'打开文件进行更新(注意'w +'截断文件).将"b"附加到模式以在二进制模式下打开文件,在区分二进制文件和文本文件的系统上; 在没有这种区别的系统上,添加'b'没有效果.

w +:打开文件进行书写和阅读.如果文件存在,则覆盖现有文件.如果该文件不存在,则创建一个用于读写的新文件.

但是,如何读取打开的文件w+

python io file

178
推荐指数
5
解决办法
27万
查看次数

MongoDB的默认数据库路径是什么?

我收到一个错误dbpath (/data/db/) does not exist,但/etc/mongodb.conf命名为dbpath = /var/lib/mongodb. So,这是MongoDB的默认dbpath?

mongodb

59
推荐指数
6
解决办法
14万
查看次数

如何在某个virtualenv中列出已安装的软件包?

你可以cdYOUR_ENV/lib/pythonxx/site-packages/看看,但有什么方便吗?

pip freeze 列出所有已安装的软件包,包括系统环境.

pip virtualenv

59
推荐指数
6
解决办法
7万
查看次数

命名与内置函数冲突

我犯了一个错误如下:

>>> list = ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

但现在我想使用内置函数list().如您所见,listname list和内置函数之间存在命名冲突list().

list如果不重新启动Python shell,我如何使用内置函数而不是变量?

python list built-in

16
推荐指数
3
解决办法
5218
查看次数

为什么golang Lookup***函数无法提供服务器参数?

对于nslookup命令,它有nslookup somewhere.com some.dns.server.

但是,似乎golang dnsclient只加载配置 /etc/resolv.conf

代码在这里:https://golang.org/src/net/dnsclient_unix.go#L225

golang标准库是否提供类似的功能 func LookupTXT(name string, dnsServer string) (txt []string, err error)

requirement:1.不要更改默认值/etc/resolv.conf.

dns nslookup go

16
推荐指数
5
解决办法
8843
查看次数

如何在golang中实现python`zip`函数?

有时,使用zipPython中的内置函数将两个列表组合成一个元组很方便.如何在golang中进行类似的操作?

python go

15
推荐指数
2
解决办法
6155
查看次数

在Golang中从毫秒转换为时间

我有一些json数据,其中有一个名为lastModifed的字段包含以毫秒为单位的时间.我想用json.UnMarshaller将这些数据转换为结构类型.我用json提交了字段.但转换似乎无效.

IE:

我的Json看起来像这样:

{
   "name" : "hello",
   "lastModified" : 1438167001716
}
Run Code Online (Sandbox Code Playgroud)

和struct看起来像

type Model struct {
    Name         string    `json:"name"`
    Lastmodified time.Time `json:"lastModified"`
}
Run Code Online (Sandbox Code Playgroud)

看起来没有正确地转换时间.我怎么能从那些毫克中获得时间?

注意:lastModifiedTime的millis来自java System.currentTimeMillis();

json go unmarshalling

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

将json转入yaml

我有一个这样的.json文件(命名为meta.json):

{
    "main": {
        "title": "????????",
        "description": "????????"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将它转换为一个.yaml 文件(命名为meta.yaml),如:

title: "????????"
description: "????????"
Run Code Online (Sandbox Code Playgroud)

我所做的是:

import simplejson as json
import pyyaml

f = open('meta.json', 'r')
jsonData = json.load(f)
f.close()

ff = open('meta.yaml', 'w+')
yamlData = {'title':'', 'description':''}
yamlData['title'] = jsonData['main']['title']
yamlData['description'] = jsonData['main']['description']
yaml.dump(yamlData, ff)
# So you can  see that what I need is the value of meta.json     
Run Code Online (Sandbox Code Playgroud)

但遗憾的是,我得到的是:

{description: "\u4ECA\u65E5\u306F\u96E8\u304C\u964D\u3063\u3066", title: "\u4ECA\u65E5\
\u306F\u96E8\u304C\u964D\u3063"}
Run Code Online (Sandbox Code Playgroud)

为什么?

python encoding json yaml

12
推荐指数
2
解决办法
4万
查看次数

找到烧瓶应用的瓶颈

我写了一个烧瓶应用程序.当我在远程服务器中部署它时,我发现它非常慢.所以,我用它做了一些分析实践.请看下面的图片:

我用于分析的代码是:

#coding: utf-8
from werkzeug.contrib.profiler import ProfilerMiddleware
from app import app

app.config['PROFILE'] = True
app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions = [30])
app.run(debug = True)
Run Code Online (Sandbox Code Playgroud)

图片1

远程服务器中进行分析.也许瓶颈是_socket.getaddrinfo

在此输入图像描述

图2

在本地机器中进行分析.没有发现瓶颈.

在此输入图像描述

图3

有时,即使在远程服务器中,也没有发现瓶颈.没有_socket.getaddrinfo找到.奇怪的! 在此输入图像描述

我也在远程服务器python shell中进行了分析cProfile.看看这个:


In [10]: cProfile.run("socket.getaddrinfo('easylib.gdufslib.org', 80, 0, 0, socket.SOL_TCP)")
         3 function calls in 8.014 CPU seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    8.014    8.014 :1()
        1    8.014    8.014    8.014    8.014 {_socket.getaddrinfo}
        1    0.000    0.000    0.000    0.000 …
Run Code Online (Sandbox Code Playgroud)

dns networking cprofile flask

11
推荐指数
2
解决办法
4873
查看次数