读取骨骼数据相关的多个json,拼接到一起

# -- coding: utf-8 --
import os
path = "./test" #文件夹目录
files= os.listdir(path) #得到文件夹下的所有文件名称
s = []
i=0
for file in files: #遍历文件夹
if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开
f = open(path+"/"+file); #打开文件
i=i+1
print(i)
iter_f = iter(f); #创建迭代器
str = ""
for line in iter_f: #遍历文件,一行行遍历,读取文本
str = str + line
s.append(str) #每个文件的文本存到list中 print(s[1]) #打印结果
print(s[2]) f=open('./f.txt','w')
f.write(s[1])
#一次读取文件夹内的多个文件,存放在s数组内。然后可以考虑遍历s数组,每10个数存储一次,文件夹要有规则的生成

  读取json文件,并解析到其中的数据

创建json文件:

{
"fontFamily": "微软雅黑",
"fontSize": 12,
"BaseSettings":{
"font":1,
"size":2
}
}

读取json文件:

import json

def loadFont():
f = open("Settings.json", encoding='utf-8') #设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错
setting = json.load(f)
family = setting['BaseSettings']['size'] #注意多重结构的读取语法
size = setting['fontSize']
return family t = loadFont() print(t)

参考:https://www.cnblogs.com/laoniubile/p/6036919.html

根据上边读取json文件的方法,将骨骼数据中body_parts部分的数据提取出来,其中骨骼数据的json格式为

{
"version":0.1,
"people":[
{
"body_parts":[
614.318,240.562,0.840796,612.341,242.575,0.782728,540.081,244.635,0.774854,569.276,358.043,0.768752,584.981,461.723,0.867115,678.826,242.612,0.800199,661.33,352.252,0.799717,651.585,461.697,0.744037,579.118,369.762,0.561295,565.444,493.059,0.693711,571.355,618.2,0.801457,649.546,367.813,0.612515,665.162,491.085,0.734447,663.339,616.268,0.787793,600.537,224.947,0.928016,626.089,223.034,0.8756,579.144,207.338,0.719421,643.648,201.529,0.673821
],
"body_mistakes":[ ],
"complete_fitness_times":0,
"average_fitness_frequency":0.000000,
"current_pose_type":"STAND_UP"
}
],
"width":1280,
"height":720
}

代码为

# -- coding: utf-8 --
import json
path = "./test/Bent-over_000000000000_pose.json" #文件夹目录 def getbody_parts():
f = open(path, encoding='utf-8') #设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错
data = json.load(f)
#family = setting['BaseSettings']['size']
body_parts = data['people'][0]['body_parts']
#注意多重结构的读取语法,在Bent-over_000000000000_pose.json中,大括号表示定义一个对象,
#中括号表示一个数组,数组用下标的方式读取
return body_parts t = getbody_parts() print(t)

根据以上方法,将一个文件夹中多个json文件读取出来,并把每个json文件中的body_parts找到,拼接成list,输出到f.txt文件

# -- coding: utf-8 --
import os
import json
path = "./test" #文件夹目录
files= os.listdir(path) #得到文件夹下的所有文件名称
s = []
for file in files: #遍历文件夹
if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开
f = open(path+"/"+file); #打开文件
data = json.load(f)
#family = setting['BaseSettings']['size']
body_parts=''
body_parts = body_parts+str(data['people'][0]['body_parts'])
#注意多重结构的读取语法,在Bent-over_000000000000_pose.json中,大括号表示定义一个对象,
#中括号表示一个数组,数组用下标的方式读取
s.append(body_parts) #每个文件的文本存到list中 print(s[1]) #打印结果
print(s[2]) f=open('./f.txt','w')
f.write(str(s))
#一次读取文件夹内的多个文件,存放在s数组内。然后可以考虑遍历s数组,每10个数存储一次,文件夹要有规则的生成

python部分的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. [Erlang危机](4.2)Remsh

    原创文章,转载请注明出处:server非业余研究http://blog.csdn.net/erlib 作者Sunface 联系邮箱:cto@188.com Remsh There's a mechan ...

  2. java 基本数据类型及自己主动类型提升

    基本数据类型:8种 1.整型: byte    1个字节    8位    -128到127 short   2个字节    16位  -2^15到(2^15)-1 int    4个字节    32 ...

  3. linux下配置虚拟域名

    linux下配置虚拟域名 1.hosts文件位置! /etc/hosts 2.增加一行 127.0.0.1 xxxxx 3.修改apache中的vhosts vi /etc/httpd/extra/h ...

  4. Huatuo's Medicine

    Huatuo's Medicine Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others ...

  5. 分析性能瓶颈的视图:v$session_wait

    这是一个寻找性能瓶颈的关键视图.它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件).当系统存在性能问题时,本视图可以做为一个起点指 ...

  6. 1.matlab基础准备及入门

    1.1 Command Window(命令行窗口)运用入门 1 计算器的用法 2 数值变量与表达式 3. 计算结果的图形表示 代码及注释 function [ output_args ] = Unti ...

  7. Android Studio 一些注意事项(自用,不定期更新)

    1,Android Studio 版本的选择 写这篇的时候,官方版本已经到了 v3.2.0,而我习惯使用的版本是 v2.3.1,因为这个版本有自带sdk的安装版,比较方便, 同时,v2.3.1 新建项 ...

  8. Android Studio 插件 GsonFormat :你还在烦恼 为 Json格式 生成 JavaBean实体类吗?

    在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...

  9. Java之Foreach语句

    Foreach是for语句的特殊简化版本,但任何时候的foreach语句都可以改写成for语句.Foreach语句在遍历数组等方面为程序员提供了很大的方便 语法如下: For(元素变量 x:遍历对象o ...

  10. ContentType 列表

    CONTENTTYPE是html里面都带有的,ASP只是设置当前的CONTENTTYPE在浏览器中,ContentType一般指定当前的文档内容,浏览器即根据相应的MIME及Content-Type映 ...