美团|Python 自学网站 Python Code Example

美团|Python 自学网站 Python Code Example

文章图片


PythonCodeExample是我偶然间发现的网站 , 里面提供了许多Python常用模块的优雅写法这个网站打开可以直接检索自己想要学习的代码示例 , 并且示例种类非常多主网站还提供了许多其他语言的例子 。


这里分享下python常用模块的用法 。 向大佬学习真的是非常快的学习方法 。
1.os.makedirs()
创建多级目录 , 创建一级使用os.mkdir
主要的两种写法 , 用try-except和if语句判断是否已经存在文件夹

  • try:
    \tos.makedirs(path)
    except Exception as e:
    \traise e

    realpath = os.path.abspath(path)
    path_exists = os.path.exists(realpath)
    if path_exists and force:
        if not os.path.isdir(realpath):
            log(\"Removing non-directory file { prior to mkdir()\".format(path))
            os.unlink(realpath)
            os.makedirs(realpath perms)
    elif not path_exists:
         os.makedirs(realpath perms)

2.os.walk(top topdown=True onerror=None followlinks=False)
os.walk 的返回值是一个生成器(generator) , 每次遍历的对象都是返回的是一个三元组(root dirs files) root 所指的是当前正在遍历的这个文件夹的本身的地址dirs 是一个 list, 内容是该文件夹中所有的目录的名字(不包括子目录) files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录).如果 topdown 参数为真 , walk 会遍历 top 文件夹 , 与top文件夹中每一个子目录 。
  • 【美团|Python 自学网站 Python Code Example】for root dirs files in os.walk(path):
         for file in files:
              zipn.write(os.path.join(root file))

3. shutil.copy(filename generic_filename)
  • if copy:
           shutil.copy(filename download_location)
           logger.notify('Saved %s' % display_path(download_location))

    requirements = os.path.join(tempdir 'requirements.txt')
    shutil.copy('tests/samples/requirements.txt' requirements)

4. glob.glob
匹配路径下的某种规则的文件 。 返回list
  • imgs_list = glob.glob(os.path.join(root sDir '*.png'))

5. lambda表达式
  • p = lambda a b: (a**2 + b**2) ** 0.5
    p(1 , 2)

  • 6.map(func *iterables) --> map object表达式
  • s1 = [123

    s2 = [456

    t = map(lambda xy: x+ys1s2)
    print(list(t)) 
    返回可迭代对象 , 需要list调用来显示所有结果

7.filter(function or None sequence) ->iterator
filter函数会对序列参数sequence中的每个元素调用function函数 , 最后返回的结果包含调用结果为True的元素 。
  • s1 = [123

    t = map(lambda x: x>2s1)

8.批量修改文件名
  • import os
    path=\"train\"
    filename_list = os.listdir(\"train\")
    map=dict(zip(list1list2))
    for item in filename_list:
       os.rename(os.path.join(path item)os.path.join(path \"train_\"+str(map[item
    )+\".csv\"))

9.批量读取csv
  • filename_list = os.listdir(\"train\")
    train_data=https://mparticle.uc.cn/api/[

    for item in filename_list:
       train_data.append(pd.read_csv(path+\"/\"+item))
    train_data=https://mparticle.uc.cn/api/pd.concat(train_data)

10.numpy 的数组拼接 , vstack , hstackconcatenate , stack