浅谈Python中数据解析

   本文给大家介绍的是Python中的数据解析的集中方式,包括列表解析、字典解析、集合解析,并附上相关示例,有需要的小伙伴可以参考下。

  Import os; -- Python自带

  print(os.getcwd()) -- 获得当前工作目录

  os.chdir('/Users/longlong/Documents') -- 转换到/Users/longlong/Documents目录

  os.path.join(parm1, parm2,...) -- 从一个或多个路径片段中构造一个路径名。

  os.path.expanduser() -- 用来将包含~符号的路径扩展为完整的路径

  复制代码 代码如下:

  >>> pathname = '/Users/pilgrim/diveintopython3/examples/humansize.py'

  >>> os.path.split(pathname) --('/Users/pilgrim/diveintopython3/examples', 'humansize.py')罗列目录内容构造绝对路径

  复制代码 代码如下:

  >>> import os

  >>> print(os.getcwd())

  /Users/longlong/Documents

  >>> os.chdir("./python/")

  >>> os.getcwd()

  '/Users/longlong/Documents/python'

  >>> print(os.path.realpath('whileloop.py')

  )

  /Users/longlong/Documents/python/whileloop.py

  >>> print(os.path.realpath("whileloop.py"))

  /Users/longlong/Documents/python/whileloop.py

  >>>

  列表解析

  复制代码 代码如下:

  >>> [os.path.realpath(f) for f in glob.glob("*.py")]

  ['/Users/longlong/Documents/python/indices_over_two_objects.py', '/Users/longlong/Documents/python/loops_over_indices.py', '/Users/longlong/Documents/python/while_loops.py']

  >>> [f for f in glob.glob("*.py") if os.stat(f).st_size > 700]

  ['indices_over_two_objects.py', 'while_loops.py']

  1

  字典解析

  ?

1
2
3
4
5
6
7
8
9
10

>>> metadat_dict = { f:os.stat(f) for f in glob.glob('*.py')}
 
>>> type(metadat_dict)
<class 'dict'>
 
>>> list(metadat_dict.keys())
['indices_over_two_objects.py', 'while_loops.py', 'loops_over_indices.py']
 
>>> metadat_dict['indices_over_two_objects.py'].st_size
871

  ?

1
2
3
4
5
6

>>> list(metadat_dict.keys())
['indices_over_two_objects.py', 'while_loops.py', 'loops_over_indices.py']
 
>>> a_dict = {'a':1, 'b':2,'c':3}
>>> {value:key for key,value in a_dict.items()}
{1: 'a', 2: 'b', 3: 'c'}

  集合解析

  ?

1
2
3
4
5
6
7
8
9
10
11
12

>>> a_set = set(range(10))
>>> a_set
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
 
>>> {x**2 for x in a_set}
{0, 1, 64, 4, 36, 9, 16, 49, 81, 25}
 
>>> {x for x in a_set if x%2 == 0 }
{0, 8, 2, 4, 6}
 
>>> {2**x for x in range(10)}
{32, 1, 2, 64, 4, 128, 256, 512, 8, 16}

  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-09-13 04:58:38

浅谈Python中数据解析的相关文章

浅谈Python中copy()方法的使用

  这篇文章主要介绍了浅谈Python中copy()方法的使用,Python中的拷贝分为潜拷贝和深拷贝,本文只是简单介绍用法,需要的朋友可以参考下 copy()方法返回字典的浅拷贝. 语法 以下是copy()方法的语法: ? 1 dict.copy() 参数 NA 返回值 此方法返回字典的浅拷贝. 例子 下面的例子显示了copy()方法的使用. ? 1 2 3 4 5 6 #!/usr/bin/python   dict1 = {'Name': 'Zara', 'Age': 7};   dict

浅谈Python中的数据类型

  Python很重要的的那几个数据类型:字符串,列表,字典,元组,经常有网友问他们之间重要的区别的是什么?能否举几个例子来说明下!下嘛我们就来探讨下. 数据类型: ? 1 2 3 4 float - 浮点数可以精确到小数点后面15位 int - 整型可以无限大 bool - 非零为true,零为false list - 列表 Float/Int: 运算符: / - 浮点运算除 // - 当结果为正数时,取整; 11//5 =2; 11//4 = 2 当结果为负数时,向下取整;-11//5=-3

浅谈python中的变量默认是什么类型_python

1.type(变量名),输出的结果就是变量的类型: 例如 >>> type(6) <type 'int'> 2.在Python里面变量在声明时,不需要指定变量的类型,变量的类型是动态指定的:>>> x=5 >>> type(x) <type 'int'> >>> x="wang" >>> type(x) <type 'str'> 3.也就是说变量的类型,根据给出

浅谈ASP中Request对象获取客户端数据的顺序

request|对象|客户端|数据 浅谈ASP中Request对象获取客户端数据的顺序 /**描述:在使用ASP Request对象时需要注意的小问题作者:慈勤强Email : cqq1978@yeah.net**/ 在ASP中Request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了.虽然如此,还是经常有人问我下面的几种写法有什么不同,到底应该怎么写?strMessage = Request("msg")strMessage = Request.Form(&qu

浅谈php中urlencode与rawurlencode的区别_php实例

前段时间说自己遇到了个<URL加号引发错误>的BUG,引起这个bug的原因就是自己在URL中使用了 urlencode 函数,该函数会把空格转换成加号,这样就导致URL解析出错,而空格只有转换成 %20 才可以可以正常解析,这时我们就需要使用 rawurlencode 函数. 下面就介绍一下 urlencode 函数与 rawurlencode 函数的区别: urlencode 函数: 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格

浅谈Angular中ngModel的$render_AngularJS

在我开始着手ngModel的领域时候,有一个问题很令我纠结,那就是$render()到底是做什么的呢?查了很多资料都只是简单的描述一下,这就令我很纠结了,终于在一个阳光明媚的晚上,我终于解决了这个大问题 那么这个$render方法到底是干什么的呢?他的用处就是在$viewValue改变的时候可以重新绑定model数据,但是我们要注意一点($viewValue和DOM节点的value是不同的),我觉得他们的区别有点类似setTimeout和$timeout的区别,但是又不太一样.ps:其实mode

浅谈servlet中的request与response_java

在b/s架构中,有request浏览器的请求,也有response的服务器反馈.底层是tcp/ip协议,应用层是http协议.在tomcat服务器中,版本6使用的http1.1版本协议.服务器发出request请求,在请求中有可能加载get和post请求(doget请求,是放在URL中可以使用getparmeter进行解析,因为tomcat把每一个网页请求看做一个对象,所以是面向对象(HttpServletRequest)进行封装,并有doget和dopost进行 对应的解析.主要的API如下:

浅谈php中urlencode与rawurlencode的区别

前段时间说自己遇到了个<URL加号引发错误>的BUG,引起这个bug的原因就是自己在URL中使用了 urlencode 函数,该函数会把空格转换成加号,这样就导致URL解析出错,而空格只有转换成 %20 才可以可以正常解析,这时我们就需要使用 rawurlencode 函数. 下面就介绍一下 urlencode 函数与 rawurlencode 函数的区别: urlencode 函数: 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格

浅谈javascript中call()、apply()、bind()的用法

  浅谈javascript中call().apply().bind()的用法         一直对Javascript中的apply/call/bind的用法很模糊,恰好看到了这篇文章.对三者之间的区别与联系算是有了比较清晰的认识.这里记录下来,分享给大家. call(thisObj,arg1,arg2...).apply(thisObj,[obj1,obj2...])这二个方法是每个函数都包含的非继承的方法 call(thisobj[, args])和apply(thisobj[, arg