天天看點

常用子產品——math,random,os

  1. math子產品

    '''
    math子產品:數學子產品    友善一些資料計算
    '''
    import math
    print(math.pi)
    r = 12.89636
    print(math.ceil(r))  # 13  向上取整
    print(math.floor(r))  # 12  向下取整
    print(math.factorial(4))  # 階乘  4*3*2*1---> 24
    print(math.pow(4, 3))  # pow(m,n) 表示的是m的n次方
    print(math.fabs(-19.65))  # 絕對值
    print(math.sqrt(10))  # 10開平方
    print(abs(-19.65))
    # builtins.py  子產品預設加載
    # print(),max(),list(),str(),id(),type()
    # import builtins
               
  2. random子產品

    '''
     random子產品:
        print(random.random())  # 生成 [0,1)的随機浮點數
        print(random.uniform(20, 30))  # 生成[20,30]的随機浮點數
        print(random.randint(10, 30))  # 生成[10,30]的随機整數
        print(random.randrange(20, 30))  # 生成[20,30)的随機整數
        print(random.choice('abcdefg'))  # 從清單裡随機取出一個元素
        print(random.sample('abcdefghij', 3)) # 從清單裡随機取出指定個數的元素
    '''
    import random
    
    # 擷取[0,1)之間的小數
    ran = random.random()
    print(ran)
    code = ''
    s = 'qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNM'
    for i in range(4):
        ran = random.choice(s)
        print(ran)
        code += ran
    print(code)
    names = ['aaa', 'bbb', 'ccc', 'ddd']
    # name = random.choice(names)
    # print('表演節目的是:',name)
    name = random.sample(names, 2)  # 指定個數的随機擷取元素
    print('表演節目的是:', name)
    r = random.randrange(1, 20)  # 給定範圍回去随機數randrange(start,stop,step=1)
    print(r)
    # random.randint(1,20)
    r = random.uniform(1, 20)
    print(r)
               
  3. os子產品

    '''
      os:開發中會涉及檔案和路徑的操作
      mkdir(‘檔案夾名字|路徑’)
      getcwd()  擷取目前路徑
      rmdir()  也可以删除檔案夾,隻能删除空的檔案夾
      remove()  删除檔案
      import shutil
      shutil.rmtree()  ----> 删除有内容檔案夾
    '''
    import os
    
    # os.mkdir('files')  # 如果檔案夾已經存在則報錯FileExistsError:  當檔案已存在時,無法建立該檔案。: 'files'
    print(os.getcwd())  # 擷取目前檔案所在的位置(路徑) C:\Users\running\PycharmProjects\day12_子產品
    os.chdir('files')
    print(os.getcwd()) 
    # print(a)
    # result = os.remove('files')
    # print(result)
    # # os.mkdir(r'c:\foo\files')
    # result =os.remove(r'c:\foo\files\a1.py')
    # print(result)
    # 推薦删除檔案夾
    # import shutil
    # shutil.rmtree('files')
    
    # 案例
    import os
    
    # os.rmdir('files')
    # 是否是檔案夾
    r = os.path.isdir(r'c:\foo\a1.txt')
    print(r)
    # 是否是檔案判斷
    r = os.path.isfile(r'c:\foo\a1.txt')
    print(r)
    # 擷取目錄下的所有的子檔案
    file_list = os.listdir(r'c:\foo')
    print(file_list)
    for i in file_list:
        # os.path.join(path1,path2..)  拼接路徑
        path = os.path.join(r'c:\foo', i)
        print(path)
        r = os.path.isfile(path)
        print("isfile:", r)
        r = os.path.isdir(path)
        print("isdir:", r)
    # 删除一個檔案夾中所有檔案
    files = os.listdir(r'c:\foo\files')
    # 周遊删除
    for file in files:
        path = os.path.join(r'c:\foo\files', file)
        if os.path.isfile(path):
            os.remove(path)
    print('删除完畢')
    
    '''
    os子產品: 其他方法
    '''
    import os
    # os.chdir(r'c:\foo\files')
    # open('a1.txt','w')
    # print(os.environ)
    # print(os.environ.get('OS'))
    # print(os.environ.get('PATH'))
    # path = os.path.abspath('a1.txt')  # absolute path
    # print(path)
    # # os.remove(path)
    # result = os.path.split(r'C:\Users\running\PycharmProjects\day12_子產品\a1.txt')
    # print(result)
    # result = os.path.dirname(r'C:\\Users\\running\\PycharmProjects\\day12_子產品')
    # print(result)
    # abspath = os.path.abspath(__file__)
    # print(abspath)  # C:\Users\running\PycharmProjects\day12_子產品\子產品os_6.py
    # path = os.path.dirname(os.path.dirname(abspath))
    # print(path)
    # result = os.path.split(r'C:\Users\running\PycharmProjects\day12_子產品')
    # print(result)
    # result = os.path.splitext(r'C:\Users\running\PycharmProjects\day12_子產品\a1.html')
    # print(result)
    # result =os.path.splitext('https://www.baidu.com/img/dong_1388792da98c99c5b52f9e39557c31ca.gif')
    # print(result[1])
               

繼續閱讀