Python__文件和文件夹的相关操作

import os  # 操作文件或者文件夹的模块
import shutil # 文件操作的高级模块
# 对文件进行重命名操作
os.rename("333.txt", "123.txt")
# 删除文件的操作  
os.remove("123.txt")
# 创建文件夹,名字叫做AAA
os.mkdir("AAA")
# 在指定目录里面创建两个文件,5.txt, 6.txt
file = open("AAA/5.txt", "w", encoding="utf-8")
file.close()
file = open("AAA/6.txt", "w", encoding="utf-8")
file.close()
# 获取指定目录下的所有文件名,返回文件名列表
file_name_list = os.listdir("AAA")
print(file_name_list)
# os.listdir() 不指定参数,默认查看当前工程里面的所有文件名
result = os.listdir()
print(result
# 查看当前操作目录的路径
current_path = os.getcwd()
print("当前操作文件夹的路径为:", current_path)    
# 切换操作的目录
os.chdir("AAA")
current_path = os.getcwd()
print("当前操作文件夹的路径为:", current_path)
# 删除指定目录下的文件
os.remove("AAA/5.txt")
os.remove("AAA/6.txt")
# 重命名文件夹
os.rename("AAA", "BBB")
# 删除空的文件夹
os.rmdir("BBB")
# 1. 删除非空目录
os.mkdir("CCC")
file = open("CCC/彬哥出品1.txt", "w")
file.close()
# 提示:rmdir只能删除空的目录
os.rmdir("CCC")
# 删除目录及目录里面的所有文件
shutil.rmtree("CCC")
# 2. 判断文件是否存在
is_ok = os.path.exists("2.txt")
print(is_ok)
# 3. 判断文件夹是否存在
is_ok = os.path.exists("aa")
print(is_ok)
# 4. 判断是否是一个文件
is_ok = os.path.isfile("彬哥出品1.txt")
print(is_ok)
# 5. 判断是否是一个目录
is_ok = os.path.isdir("彬哥出品1.txt")
print(is_ok)
# 6. 获取文件的文件名和后缀
result = os.path.splitext("456.txt")
print(result)
# 7. 获取路径中的文件名
my_path = "B/C/4.txt"
# 8. 根据指定路径获取文件夹部分的路径
dir_path = os.path.dirname(my_path)
print(dir_path)
# 9. 根据文件名获取完整路径
result = os.path.abspath("1.txt")
print(resul

批量修改文件名案例

import os

# 1. 获取指定目录下的所有文件名
file_names = os.listdir("test")
# print(file_names)
path = os.getcwd()
print(path)
# 切换到指定的目录->test
os.chdir("test")
path = os.getcwd()
print(path)
# 2. 遍历文件名列表,取出每一个文件名,然后对文件名进行重命名操作
for file_name in file_names:
    # print(filename)
    # 根据原文件的名字生成重命名后的文件名
    new_file_name = "[tracydzf]-" + file_name
    print(file_name, new_file_name)
    # 进行重命名操作
    os.rename(file_name, new_file_name)

os.chdir("..")
path = os.getcwd()
print(path)

扩展

1.如果该文件名中有<<[tracydzf],需要该信息去掉

2.如果该文件名中每有<<[tarcydzf]->>这个内容,需要加上该内容

import os

# 1. 获取指定目录下的所有文件名
file_names = os.listdir("test")
print(file_names)
os.chdir("test")

for file_name in file_names:
    if "tracydzf" in file_name:
        new_file_name = file_name.strip().replace("[tracydzf]-","")
        os.rename(file_name, new_file_name)
    else:
        new_file_name = "[tracydzf]-" + file_name
        os.rename(file_name, new_file_name)

print(file_names)

猜你喜欢

转载自www.cnblogs.com/tracydzf/p/12380762.html
今日推荐