Python學習---讀過《深入Python3》有感
阿新 • • 發佈:2019-02-11
下面是我執行python3.2.2時的程式碼,如下所示:
附上
__author__ = 'minggxu9' import re p = re.compile(r"dbzhang8\d{2}") print(p) import os print(os.getcwd()) #得到當前目錄 os.chdir("D:\workspace\PythonTest") print(os.getcwd()) print(os.path.join('D:\workspace\PythonTest', 'example.py')) print(os.path.split("D:\workspace\PythonTest\example.py")) (dirname, filename) = os.path.split("D:\workspace\PythonTest\example.py") print(filename) print(dirname) (shortname, extension) = os.path.splitext("example.py") print(shortname) print(extension) import glob print(glob.glob('D:\workspace\PythonTest/*.py')) os.chdir('D:\workspace\ScalaTest\src') print(glob.glob("*.*")) print(os.getcwd()) metadata = os.stat('totor.scala') print(metadata.st_mtime ) print( metadata.st_size,"位元組") #import humansize #print(humansize.approximate_size(metadata.st_size)) import time print(time.localtime(metadata.st_mtime) ) #構造絕對路徑 print(os.getcwd()) print(os.path.realpath('totor.scala')) #列表解析 a_list = [1, 9, 8, 4] print([elem * 2 for elem in a_list]) a_list = [elem * 2 for elem in a_list] print(a_list) b_list=[os.path.realpath(f) for f in glob.glob('*.scala')] print(b_list) c_list=[f for f in glob.glob('*.scala') if os.stat(f).st_size > 100] print(c_list) d_list=[f for f in glob.glob('*.scala') if os.stat(f).st_size <=100] print(d_list) g_list=[(os.stat(f).st_size, os.path.realpath(f)) for f in glob.glob('*.scala')] print(g_list) #字典解析 metadata = [(f, os.stat(f)) for f in glob.glob('*.scala')] print(metadata) metadata_dict = {f:os.stat(f) for f in glob.glob('*o*.scala')} print(metadata_dict) print(type(metadata_dict)) print(list(metadata_dict.keys())) print(metadata_dict['totor.scala'].st_size) #資料字典 map:key a_dict = {'a': 1, 'b': 2, 'c': 3} print({value:key for key, value in a_dict.items()}) # a_set = set(range(10)) print( a_set) #**表示某個數的平方 print({x ** 2 for x in a_set}) print({x for x in a_set if x % 2 == 0}) print( {2**x for x in range(10)}) ''' ① 集合解析可以接受一個集合作為引數。這個集合解析計算數字0-9這個集合的的平方。 ② 同列表解析和字典解析一樣, 集合解析也可以包含if 字句來在將元素放入結果集合前進行過濾。 ③ 集合解析的輸入並不一定要是集合; 可以是任何序列。 ''' print(2**3) #2的3次方 print(4**4) vec = [2, 4, 6] print([3*x for x in vec])