zoukankan      html  css  js  c++  java
  • python部分

    读取骨骼数据相关的多个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
                       }
    }
    View Code

    读取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)
    View Code

    参考: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
    }
    View Code

    代码为

    # -- 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)
    View Code

     根据以上方法,将一个文件夹中多个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个数存储一次,文件夹要有规则的生成
    View Code
  • 相关阅读:
    [20180604]在内存修改数据(bbed).txt
    [20180630]truncate table的另类恢复2.txt
    [20180627]truncate table的另类恢复.txt
    [20180627]测试bbed是否支持管道命令.txt
    navicat连接异常 authentication plugin 'caching_sha2_password' 问题解决
    MYSQL类型与JAVA类型对应表
    Tomcat 8 Invalid character found in the request target. The valid characters are defined in RFC 3986
    springboot集成拦截器
    Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfig
    springboot集成过滤器
  • 原文地址:https://www.cnblogs.com/vactor/p/8370662.html
Copyright © 2011-2022 走看看