每天一个python小技巧

目录

  • 1.根据当前时间戳,创建新文件夹
  • 2.把小数转化为百分比形式
  • 3.需要获取指定目录下面的所有文件:
  • 4.os
  • 5. 实时获取Android手机的日志

1.根据当前时间戳,创建新文件夹

使用场景:如果需要多次重复的产出文件,可以通过如下的方式来根据时间戳创建新的文件夹,用来区分存储文件。

def getCurrentTime(dirPath):
    """
    根据时间戳,创建指定输出文件
    :param dirPath:
    :return:
    """
    if os.path.exists(dirPath+time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))):
        print("error:此文件夹已经存在,请检查后,自行删除此时间戳下的文件夹")
    else:
        print("不存在")
        os.makedirs(dirPath+time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())))
        print("创建 {} 成功".format(dirPath+time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))))
    print(time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())))

效果
在这里插入图片描述
每天一个python小技巧_第1张图片

2.把小数转化为百分比形式

使用场景:需要把计算出来的小数转化为百分数形式,且结果保留两位小数形式

def getPercent(doubleNum):
    """
    把小数转化为百分数
    :param doubleNum: double类型参数
    :return: 如:97.25%
    """
    return "%.2f%%" % (doubleNum * 100)

效果:
每天一个python小技巧_第2张图片

3.需要获取指定目录下面的所有文件:

def getFiles(Path):
    """
    传入指定的路径,打印路径下面的所有文件
    :param Path: 路径
    :return:
    """
    for i in os.listdir(Path):
        print(i)

效果:
每天一个python小技巧_第3张图片

每天一个python小技巧_第4张图片

4.os

与文件相关的函数:

def getFatherPath(path):
    """
    获取指定路径下面文件夹的父路径
    :param path: 文件路径
    :return: 
    """
    print(os.path.dirname(path))
def getFatherPath(path):
    """
    相关api
    :param path: 文件路径
    :return:
    """
    print(os.path.dirname(path))

    # 当前文件的路径
    # pwd = os.getcwd()
    # 当前文件的父路径
    father_path = os.path.abspath(os.path.dirname(path) + os.path.sep + ".")
    # 当前文件的前两级目录
    grader_father = os.path.abspath(os.path.dirname(path) + os.path.sep + "..")

    # print(pwd)
    print(father_path)
    print(grader_father)

效果:
每天一个python小技巧_第5张图片

5. 实时获取Android手机的日志

使用场景:有的时候我们需要在控制台中同步刷新安卓手机的日志,这时候就需要我们通过如下方法,来实时在控制台中打印日志,分析日志
order就是命令,相当于在dos窗口中输出adb命令,来获取安卓日志

import subprocess
def getAndroidLogcat():
    """
    实时获取安卓手机的日志
    :return:
    """
    order="adb logcat -v time"
    pi = subprocess.Popen(order, shell=True, stdout=subprocess.PIPE)
    for i in iter(pi.stdout.readline, 'b'):
        print(i)

效果:
每天一个python小技巧_第6张图片

你可能感兴趣的:(Python)