本文給大家介紹的是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}以上所述就是本文的全部內容了,希望大家能夠喜歡。