python字典转字符串并输出其长度_从Python中SOX的字符串输出中获取字典中的可用数据...
开源软件SOX是一个命令行界面工具,可以处理音频文件。它具有stat函数,该函数返回与音频文件有关的数据。该数据以字符串形式返回-很难使用的字符串。
下面是由SOX返回的字符串的示例。
\ n输入文件:'E:\ path \ to \ file \ filename.wav'\ n通道:1 \ n采样率:176400 \ n精度:16位\ n持续时间:00:00:30.00 = 5292001个样本〜2250个CDDA扇区\ nFile大小:10.6M \ n比特率:2.82M \ n示例编码:16位带符号整数PCM \ n“
和...
读取的样本:5292001 \ n长度(秒):30.000006 \ n缩放比例:2147483647.0 \ n最大振幅:0.705475 \ n最小振幅:-0.705475 \ n中线振幅:0.000000 \ n平均模数:0.449045 \ n平均振幅:0.000153 \ nRMS振幅:0.498788 \ n最大增量:1.410950 \ n最小变化量:0.000000 \ n平均变化量:0.571030 \ nRMS变化量:0.704606 \ n粗糙频率:39659 \ n音量调整:1.417 \ n \ n尝试:-t raw -e mu-law -b 8'
一个值可能具有的字符数可以从一个文件更改为另一个文件,并且某些文件实际上将完全丢失某些值。
如何从这些字符串中获取简单的值字典?
解决方案
您可以split打开'\n',然后dict通过拆分将对提供给构造函数':':
给定第二个示例字符串:
>>> s = """Samples read: 5292001\nLength (seconds): 30.000006\nScaled by: 2147483647.0\nMaximum amplitude: 0.705475\nMinimum amplitude: -0.705475\nMidline amplitude: 0.000000\nMean norm: 0.449045\nMean amplitude: 0.000153\nRMS amplitude: 0.498788\nMaximum delta: 1.410950\nMinimum delta: 0.000000\nMean delta: 0.571030\nRMS delta: 0.704606\nRough frequency: 39659\nVolume adjustment: 1.417\n\nTry: -t raw -e mu-law -b 8 '"""
可以通过以下方式创建字典:
>>> dict(r.strip().split(':', 1) for r in s.split('\n') if r)
其中,if r负责过滤掉空行和1在分裂负责执行只在一组(这样的字符串一样Duration有很多":"不会得到分头多次)。
这样产生:
{'Length (seconds)': ' 30.000006',
'Maximum amplitude': ' 0.705475',
'Maximum delta': ' 1.410950',
'Mean amplitude': ' 0.000153',
'Mean delta': ' 0.571030',
'Mean norm': ' 0.449045',
'Midline amplitude': ' 0.000000',
'Minimum amplitude': ' -0.705475',
'Minimum delta': ' 0.000000',
'RMS amplitude': ' 0.498788',
'RMS delta': ' 0.704606',
'Rough frequency': ' 39659',
'Samples read': ' 5292001',
'Scaled by': ' 2147483647.0',
'Try': " -t raw -e mu-law -b 8 '",
'Volume adjustment': ' 1.417'}
同样,对于第一个示例字符串:
>>> s = """\nInput File : 'E:\\path\\to\\file\\filename.wav'\nChannels : 1\nSample Rate : 176400\nPrecision : 16-bit\nDuration : 00:00:30.00 = 5292001 samples ~ 2250 CDDA sectors\nFile Size : 10.6M\nBit Rate : 2.82M\nSample Encoding: 16-bit Signed Integer PCM\n"""
>>> dict(r.strip().split(':', 1) for r in s.strip().split('\n') if r)
{'Bit Rate ': ' 2.82M',
'Channels ': ' 1',
'Duration ': ' 00:00:30.00 = 5292001 samples ~ 2250 CDDA sectors',
'File Size ': ' 10.6M',
'Input File ': " 'E:\\path\\to\\file\\filename.wav'",
'Precision ': ' 16-bit',
'Sample Encoding': ' 16-bit Signed Integer PCM',
'Sample Rate ': ' 176400'}
python字典转字符串并输出其长度_从Python中SOX的字符串输出中获取字典中的可用数据...相关推荐
- python同时输出名字和时间_Python学习笔记 (2) :字符串输出、操作、格式化和日期、时间格式化...
一.字符串输出及运算 1.常用输出格式及方法 1 print('1234567890')#单引号 2 print("1234567890")#双引号 3 print("& ...
- python一个字符占几个字节_关于python:这个字节字符串实际占用了多少内存?
我的理解是os.urandom(size)输出一个给定"size"的随机字节串,但是: import os import sys print(sys.getsizeof(os.ur ...
- python 删除重复字符_Google面试问题指南:使用Python删除重复出现的字符
python 删除重复字符 by Anthony Sistilli 安东尼·西斯蒂里(Anthony Sistilli) Google面试问题指南:使用Python删除重复出现的字符 (Google ...
- python输出列表元素_在Python中分别打印列表中的每一个元素方法
在Python中分别打印列表中的每一个元素方法 更新时间:2018年11月07日 15:12:03 作者:wintersshi 今天小编就为大家分享一篇在Python中分别打印列表中的每一个元素方法, ...
- python杨辉三角函数_python杨辉三角输出指定行_使用python打印十行杨辉三角过程详解...
如何用python输出杨辉三角 程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] .. 方法:迭代,生成器 12345678910111213141516171819 ...
- python杨辉三角输出指定行_python杨辉三角输出指定行_使用python打印十行杨辉三角过程详解...
如何用python输出杨辉三角 程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] .. 方法:迭代,生成器 12345678910111213141516171819 ...
- 下列python语句的输出结果是_下列Python语句的输出结果是_______________。
[判断题]All arguments have a conclusion. (10.0分) [单选题]在关于学校萌芽的传说中,有一种学校的名称是"庠",这个场所是( ) [单选题] ...
- 用python输出下列图案_使用Python打印图案“有趣”
我不想直接打印字符,而是先使用专用函数将它们保存到字符串中.一旦有了这些字符串,它们就可以很容易地组合成单词:def pattern_f(): return [ ''.join([ 'F' if (c ...
- 下列python语句的输出结果是_下列Python语句的输出结果是________________
[填空题]在Python中一行书写两条语句时,语句之间可以使用__________作为分隔符. [填空题]Python语句序列"a,b=3,4; a,b=b,a; print(a,b) &q ...
最新文章
- 周杰伦入局元宇宙? 6200万个联名「幻象熊」40分钟全卖光!
- 超级有意思的代码注释
- Mckinsey insights!
- Java入门系列-26-JDBC
- MATLAB的GUI设置为不能点击状态(将按钮变为灰色)
- ReactNative(三)——WebStorm的基本配置
- 书荒季 | “超长待机”的假期,收好这份信息安全书单!
- GNSS说第(四)讲---最新最全的IGS分析中心详情
- 《JAVA中的集合框架》
- ORA-28547 连接服务器失败
- linux docker容器MySQL自动备份发送到邮箱
- 什么是APS系统?导入APS要注意什么?值得反复观看
- mac的计算机名称,mac 如何修改计算机名_mac 修改计算机名称
- inux下服务器心跳集群脚本
- Log4J的入门简介学习【转】
- C# 语言程序设计笔记
- Spark word2vec使用
- Android取消选择单选按钮,如何取消选中Android中的单选按钮
- CycloneDDS(4)Security插件图解
- 适合ipad的python编程软件-iPad编程软件推荐(一) —— Pythonista 3
热门文章
- javaScript案例——二级联动、三级联动、省市区三级联动
- “小镇青年”、“互联网老兵”、“币圈韭菜” 玉红的众多标签为哪般?
- C/C++超级大火锅
- Prometheus 容器化部署,配合Grafan画图工具监控节点
- 编程达人教你如何快速掌握一门编程语言
- 04 ARM Mali-V VPU硬件视频编解码驱动介绍V61
- Docker + Gitlab + Gitlab CI(三)
- JAVAEE和项目开发——JSP详解
- OpenCL设备存储形式
- 【云原生】云原生在网络安全领域的应用