浅谈Python中数据解析

1315次阅读  |  发布于5年以前

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

字典解析


    >>> 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


    >>> 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'}


集合解析


    >>> 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}

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8