欢迎来到山村网

浅谈Python中数据解析

2019-03-02 12:22:11浏览:816 来源:山村网   
核心摘要:  本文给大家介绍的是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}

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

(责任编辑:豆豆)
下一篇:

Python记录详细调用堆栈日志的方法

上一篇:

python递归计算N!的方法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com