python 文件操作 txt

模块

import os

from shutil import copyfile

#遍历文件目录
def findAllFilesWithSpecifiedSuffix(target_dir, target_suffix="txt"):
    find_res = []
    target_suffix_dot = "." + target_suffix
    walk_generator = os.walk(target_dir)
    for root_path, dirs, files in walk_generator:
        if len(files) < 1:
            continue
        for file in files:
            file_name, suffix_name = os.path.splitext(file)
            if suffix_name == target_suffix_dot:
                #find_res.append(os.path.join(root_path, file))
                find_res.append(file)
    return find_res
#转小写
def toLowerCase(str):
        """
        :type str: str
        :rtype: str
        """
        return "".join(chr(ord(c) + 32) if 65 <= ord(c) <= 90 else c for c in str)
# 这个程序的作用:
# 可以将A目录下的所有文件以及A目录下的文件夹中的文件复制到另外一个目录B里并且保留所有目录结构
# 这个程序的作用等同于windows下直接将一个文件夹复制到另一个文件夹中(windows的复制也是保留目录结构的)
# 但是不同点是:这个程序复制出的所有文件以及文件夹他们的修改日期、访问日期都是当前系统时间
#               而windows系统的复制之后的文件的修改日期、访问日期都和复制前的时间一样
# 目的:我需要修改一个工程内所有代码文件的创建日期,发现直接在windows下复制实现不了,于是用代码试了试,下面是我
#       实现的python代码(如果文件不多的话,要实现该功能也可以用下面的方法:打开文件,然后随便编辑一个
#       文字->保存->删除刚才编辑的文字->保存。这样做之后修改日期会改为当前时间,创建时间依然不变。)
number = 0

# 递归函数
def copy_file(path_read, path_write):
    # 将number设置为全局变量
    global number
    # 输出path_read目录下的所有文件包括文件夹的名称
    names = os.listdir(path_read)
    # 循环遍历所有的文件或文件夹
    for name in names:
        # 定义新的读入路径(就是在原来目录下拼接上文件名)
        path_read_new = path_read + "\\" + name
        # 定义新的写入路径(就是在原来目录下拼接上文件名)
        path_write_new = path_write + "\\" + name
        # 判断该读入路径是否是文件夹,如果是文件夹则执行递归,如果是文件则执行复制操作
        if os.path.isdir(path_read_new):
            # 判断写入路径中是否存在该文件夹,如果不存在就创建该文件夹
            if not os.path.exists(path_write_new):
                # 创建要写入的文件夹
                os.mkdir(path_write_new)
            # 执行递归函数,将文件夹中的文件复制到新创建的文件夹中(保留原始目录结构)
            copy_file(path_read_new, path_write_new)
        else:
            # 每复制一次,number+1
            number += 1
            # 将文件path_read_new复制到path_write_new
            copyfile(path_read_new, path_write_new)

    #调用方法
    #生成文件
    # 从该文件夹中复制出来
    path_read = r'C:\Users\Administrator\Desktop\app'
    # 复制到该文件夹
    path_write = r"C:\Users\Administrator\Desktop\newapp"
    if not os.path.exists(path_write):
        os.makedirs(path_write)
    # 执行递归函数
    copy_file(path_read, path_write)
    # 输出一共有多少个文件
    print(number)
f = open(v,"r",encoding='utf-8')  #可读可写二进制,文件若不存在就创建
lines=[]
for line in f.readlines():#行读取
	lines.append(line)
s=''.join(lines)
f=open(v,'w+',encoding='utf-8')
f.write(s)
f.close()
os.rename(oldname,newname)#重命名文件
def mkdir(path):
    '''
    创建指定的文件夹
    :param path: 文件夹路径,字符串格式
    :return: True(新建成功) or False(文件夹已存在,新建失败)
    '''
    # 引入模块
    import os

    # 去除首位空格
    path = path.strip()
    # 去除尾部 \ 符号
    path = path.rstrip("\\")

    # 判断路径是否存在
    # 存在     True
    # 不存在   False
    isExists = os.path.exists(path)

    # 判断结果
    if not isExists:
        # 如果不存在则创建目录
         # 创建目录操作函数
        os.makedirs(path)
        print(path + ' 创建成功')
        return True
    else:
        # 如果目录存在则不创建,并提示目录已存在
        print(path + ' 目录已存在')
        return False
#驼峰转蛇形
def camel_to_snake(string):
    string = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', string)
    string = re.sub('(.)([0-9]+)', r'\1_\2', string)
    return re.sub('([a-z0-9])([A-Z])', r'\1_\2', string).lower()


#蛇形转小驼峰
def to_camel_min_case(snake_str):
    components = snake_str.split('_')
    return components[0] + ''.join(x.title() for x in components[1:])


#蛇形转大驼峰
def to_camel_max_case(snake_str):
    components = snake_str.split('_')
    mincase= components[0] + ''.join(x.title() for x in components[1:])
    return mincase[0].upper() + mincase[1:]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值