萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 淺談Python中數據解析

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

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

copyright © 萬盛學電腦網 all rights reserved