美文网首页
Python对文件系统的几个操作

Python对文件系统的几个操作

作者: 门朝大海 | 来源:发表于2018-11-17 20:28 被阅读0次

刚做了一个小需求,对文件系统有一些操作,记录一下,巩固记忆。

获取文件自己所在的路径:

 pwd = os.getcwd()

创建文件夹:

def create_dir(dirpath):
    # 判断目录是否存在,不存在则创建
    if not os.path.exists("{path}/localfiles".format(path=dirpath)):
        os.makedirs("{path}/localfiles".format(path=dirpath))

删除文件:

def remove_files():
    # 判断本地日志文件夹是否为空,如果不为空,就删除目录下所有文件. 
    if os.listdir(local_path):
        os.popen("""rm {local_path}*""".format(local_path=local_path))

    # 判断加载文件是否存在,存在就删除
    if os.path.exists(load_path):
        os.remove(load_path)

下载hdfs 文件本地:

def getFileFromHdfs(hdfs_dir,hdfs_path):
    # 判断openapi 日志hdfs上是否存在。
    output = os.popen("""hdfs dfs -test -e {hdfs_dir} \n echo $? """.format(hdfs_dir = hdfs_dir))
    r = output.readline()

    # readlines() 的结果最后面总是带着一个 \n
    r = r.split('\n')[0]

    # 如果日志路径不存在 pass
    if r == '1':
        pass
    else:
        os.popen("""hdfs dfs -get {hdfs_path} {local_path}""".format(hdfs_path = hdfs_path,local_path = local_path))

读取本地日志文件,去掉 _SUCCESS 文件:

def read_logs():
    # 读取文件夹中文件列表
    try:
        files = os.listdir(local_path)
    except Exception as e:
        print('读取文件列表报错:'+ traceback.format_exc())
    
    #如果为0,那就说明目录下并没有文件。
    if len(files) != 0:
        # 遍历这些个文件
        for file in files:
            # 去掉文件夹
            if not os.path.isdir(file):
                # 去掉 _SUCCESS 文件
                fname = os.path.basename(file)
                if fname == '_SUCCESS':
                    pass
                else:
                    # 解析日志文件并写入本地文件
                    analysis_logs(fname)

按行读取文件并去掉空行

        with open(file_path,'r') as f:
            for line in f.readlines():
                # 判断是否为空行。可能是\n,也可能是空格
                if line in ['\n','\r\n'] or line.strip() == "":
                    pass

相关文章

  • Python对文件系统的几个操作

    刚做了一个小需求,对文件系统有一些操作,记录一下,巩固记忆。 获取文件自己所在的路径: 创建文件夹: 删除文件: ...

  • 文件系统

    对于文件系统的访问,python一般是通过OS(操作系统)模块实现的。python作为跨平台的语言,在不同的操作系...

  • 二十、OS 模块和 time 模块

    1、os 模块 OS 模块(operating system),意为操作系统,是 python 处理文件系统的常用...

  • python标准库pathlib常见操作

    pathlib—— 面向对象的文件系统路径它是python3.4新增的一个标准库,提供了不同操作系统下文件系统路径...

  • 我们讲讲python的os模块与文件系统的那点破事

    os模块是python访问操作系统功能的主要接口:1、对进程和进程运行环境管理2、处理与文件系统交互的工作:删除文...

  • Python中timezone的部分常用操作

    对timzone的操作总是感觉特别的繁杂,经过牛人指点,提炼出来几个比较常用的timezone操作。 python...

  • 14.Python之文件操作

    Python之文件操作 文件操作通过Python中的内置函数open()对文件进行操作。文件操作需要如下几个参数:...

  • Python模块·Os(Shell工具·补充)

    一、Os模块的定义: os意思是Operation System操作系统 对文件系统的访问大多通过 python ...

  • 获取特定文件类型的关联图标

    文件系统相关类 要处理文件系统相关功能,一般直接使用Python 标准库中的函数,Qt 包含的以下几个类,只需要简...

  • Python

    Python 创建文件 Python 对数据库进行操作--增删改查 Python 对csv进行操作 Python ...

网友评论

      本文标题:Python对文件系统的几个操作

      本文链接:https://www.haomeiwen.com/subject/xfvifqtx.html