python文件操作

os.path.join函数

用法:将多个路径组合后返回

语法:os.path.join(path1[,path2[,path3[,…[,pathN]]]])

返回值:将多个路径组合后返回

注意:第一个绝对路径之前的参数将会被忽略

os.path.splitext(“文件路径”)

os.path.splitext(“文件路径”) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作

import os
path_01='D:/User/wgy/workplace/data/notMNIST_large.tar.gar'
path_02='D:/User/wgy/workplace/data/notMNIST_large'
root_01=os.path.splitext(path_01)
root_02=os.path.splitext(path_02)
print(root_01)
print(root_02)

  • 结果
('D:/User/wgy/workplace/data/notMNIST_large.tar', '.gar')
('D:/User/wgy/workplace/data/notMNIST_large', '')

相对路径与绝对路径

文件遍历

files = os.listdir(inputs_path)

shutil 文件操作

对文件的复制与删除操作更是比较支持

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'junxi'

import shutil

# 将文件内容拷贝到另一个文件中
shutil.copyfileobj(open('old.txt', 'r'), open('new.txt', 'w'))

# 拷贝文件
shutil.copyfile('old.txt', 'old1.txt')

# 仅拷贝权限。内容、组、用户均不变
shutil.copymode('old.txt', 'old1.txt')

# 复制权限、最后访问时间、最后修改时间
shutil.copystat('old.txt', 'old1.txt')

# 复制一个文件到一个文件或一个目录
shutil.copy('old.txt', 'old2.txt')

# 在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了
shutil.copy2('old.txt', 'old2.txt')

# 把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.copytree('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb')

# 移动目录或文件
shutil.move('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb') # 把aaa目录移动到bbb目录下

# 删除一个目录
shutil.rmtree('C:/Users/xiaoxinsoso/Desktop/bbb') # 删除bbb目录

python读取文件夹

import os

#先定义一个带路径的文件

filename = "/home/mydir/test.txt"

#将文件路径分割出来

file_dir = os.path.split(filename )[0]

#判断文件路径是否存在,如果不存在,则创建,此处是创建多级目录
    if not os.path.isdir(file_dir):
        os.makedirs(file_dir)

#然后再判断文件是否存在,如果不存在,则创建
    if not os.path.exists(filename ):
        os.system(r'touch %s' % filename)

python获取文件后缀

# 获取前缀(文件名称)
assert os.path.splitext(file)[0] == "Hello"

# 获取后缀(文件类型)
assert os.path.splitext(file)[-1] == ".py"
assert os.path.splitext(file)[-1][1:] == "py"
--------------------- 
作者:Yu.Mu 
来源:CSDN 
原文:https://blog.csdn.net/JNingWei/article/details/78745403 
版权声明:本文为博主原创文章,转载请附上博文链接!

python文本匹配

# 匹配是否有如下关键词
def find_key(text):
    num = 0
    pattern = re.compile(u'宣判笔录|笔录')
    # print(pattern)
    # PATTERN = re.compile(ur'上诉')
    res = re.findall(pattern, text)
    print(res)
    if len(res):
        num = 1
    # for c in text:
    #     if c == "姚":
    #         num = 1
    #         break
    return num

字符串按照空格分隔,保存到列表中

def filter_str2(file_path):
    # 定义一个列表,存放每个分词结果,结果放入列表中
    list = []
    with open(file_path, 'r', encoding='utf-8') as f:
        for line in f:
            line = ''.join(line).strip()
            if len(line) > 2 and line not in list:
                list.append(line)
            # print(line)
    # print(list)
    return list

写文件

'w'模式写入文件时,如果文件已存在,会直接覆盖(相当于删掉后新写入一个文件)。如果我们希望追加到文件末尾怎么办?可以传入'a'以追加(append)模式写入。

def write_file(file_path, content):
    with open(file_path, 'a', encoding='utf-8') as f:
        f.write(content)
        f.write('\n')

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦