浅谈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']<br>

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

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