首页 > 编程语言 >python 操作文件/文件夹 案例

python 操作文件/文件夹 案例

时间:2023-06-14 12:33:15浏览次数:37  
标签:python test 案例 文件夹 str print path os

import os
import shutil
import glob
str_input = input("输入文件夹名即格式:")
str_addr = r"D:\360极速浏览器下载"
str_dest = os.path.join(str_addr, str_input)
list_glob = list(glob.glob(os.path.join(str_addr, "*."+str_input+"*")))

'''创建文件夹'''
if not os.path.exists(str_dest):
    print("不存在", str_dest)
    os.mkdir(str_dest)
    print("创建文件夹")
else:
    print("已存在", str_dest)
    
    
'''移动文件'''
for file in list_glob:
    if os.path.exists(os.path.join(str_addr, file)): # 原文件存在
        shutil.move(
            os.path.join(str_addr, file), # 拼接路径
            str_dest
        )
    else: # 原文件不存在
        pass
print("移动完成")


'''筛选文件'''
list_dir = os.listdir(str_addr)
list_filter = list(filter(lambda x:x.find(".pdf")>= 0, list_dir))

list_glob = list(glob.glob(os.path.join(str_addr, "*.pdf")))
list_filter.sort() == list_glob.sort()
'''创建并删除文件夹'''

str_test = r"D:\360极速浏览器下载\测试删除"
if not os.path.exists(str_test):
    print("不存在", str_test)
    os.mkdir(str_test) # 创建文件夹
    print("创建文件夹")
else:
    print("已存在文件夹", str_test)


if os.path.exists(str_test): # 判断文件是否存在
    print("存在", str_test)
    
    if not os.listdir(str_test): # not 非空
        print("空文件夹")
        os.rmdir(str_test) # 只能删除空文件夹 不可找回
        print("已删除")

    else:
        print("非空文件夹")
        shutil.rmtree(str_test) # 不可找回 慎用
        print("已删除")
        
else:
    print("不存在", str_test)
'''创建并删除文件'''

str_test = r"D:\360极速浏览器下载\测试删除"
str_test_1 = r"D:\360极速浏览器下载\测试删除\测试.text"
if not os.path.exists(str_test):
    print("文件夹不存在")
    os.mkdir(str_test) # 创建文件夹
    open(str_test_1, "w").close() # 创建文件
    print("创建文件夹和文件")
else:
    print("文件夹已存在")
    if not os.path.exists(str_test_1): # not 存在
        print("文件不存在")
        open(str_test_1, "w").close() # 创建文件
        print("创建文件")
    else:
        print("文件已存在")


if os.path.exists(str_test_1): # 判断文件是否存在
    print("存在")
    os.remove(str_test_1) # 删除文件 不可找回
    print("已删除")
        
else:
    print("不存在", str_test)

标签:python,test,案例,文件夹,str,print,path,os
From: https://blog.51cto.com/u_16055028/6476686

相关文章

  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-3-离线搭建playwright环境
    1.简介有些小伙伴或者童鞋们私信留言说自己是在公司局域网办公,或者公司为了安全对网络管控比较严格(尤其是一些大的国企、央企),总之就是一句话无法连到外网去在线下载,宏哥刚看到留言时觉得这问题还留言问啊,你找个有网的电脑下载好安装包然后安装就可以用了。(第一种情况及解决办法:带......
  • python对接事务性MSMQ队列
    研究了很久,逐步了解到原理后,发现python发送消息到事务性msmq肯定可行。现在能搜到的资源没有任何一篇文章说明了这个,包括gpt都一样。废话不多说,直接上代码 importwin32com.client#关键代码必须使用gencache导入"MSMQ.MSMQQueueInfo"win32com.client.gencache.Ensure......
  • 学了Python后还用学R语言吗?
    学习R语言是否有必要取决于你的具体需求和背景。虽然R语言和Python都是数据科学领域广泛使用的编程语言,但它们之间还是存在一些差异。如果你主要从事数据分析、统计建模或者数据可视化等工作,那么学习R语言可能更为适合。R语言在数据处理和统计分析方面具有很强的优势,并内置许多常......
  • 案例4 基于Excel的接口测试框架
    简单版读取以下格式excel(仅第一张Sheet),逐个发送接口,断言接口返回200,并将状态及错误信息写回Excel已知:Excel中接口编写格式规范如下url如果有查询参数,要写到url中,例如?a=1&b=2如果需要添加自定义请求头按key:value格式编写,:左右允许有空格,每行一个请求数据支持表单和JSO......
  • Python中的*(星号)和**(双星号)详解 通俗易懂
    Python和C++不同,并没有指针,因此python中的*号作用和C++中不同。网上对于这方面的教程写的啰啰嗦嗦,一点不简明扼要。看的让人找不到重点。我这里快速的讲解一下。1.最简单的不用细说,是一个乘法运算符号a=1b=2c=a*b输出c当然是1×2=2。相信这并非是大家关心的重点。2.收集列表中多......
  • 真实案例:Feign 切换 okhttp 无法生效,被老大骂的有点慌!
    来源:https://www.cnblogs.com/mufeng3421/p/11442412.html提示:如果只看如何解决问题,请看文章的末尾如何解决这个问题1.场景描述最近项目中使用了feign当做http请求工具来使用、相对于httpclient、resttemplate来说,fegin用起来方便很多。然后项目有httptrace的需求,需要输出请求......
  • 对python迭代器的理解
    迭代器的接口迭代器的用法自定义迭代器迭代器的意义1迭代器的接口可迭代对象计算对象之间的共同属性得到可迭代对象的共同属性上述对象都是容器类型,都有长度加入文件对象再次求交集得到可迭代对象的唯一共同接口:_iter_生成了迭代器同样方法计算迭代器的共同......
  • Python:packaging包解析语义化版本(Semantic Versioning)
    参考文章语义化版本2.0.0语义化版本与其在Python中的使用packaging是python的pip自带包,不需要额外安装#-*-coding:utf-8-*-"""@File:demo.py@Date:2023-06-09"""frompackagingimportversioncurrent_version='1.3.4'parsed_versio......
  • 【视频】ARIMA时间序列模型原理和R语言ARIMAX预测实现案例
    全文链接:http://tecdat.cn/?p=32773原文出处:拓端数据部落公众号分析师:FeierLiARIMA是可以拟合时间序列数据的模型,根据自身的过去值(即自身的滞后和滞后的预测误差)“解释”给定的时间序列,因此可以使用方程式预测未来价值。任何具有模式且不是随机白噪声的“非季节性"时间序列......
  • python基础
    第1课初识Python程序设计语言_哔哩哔哩_bilibili主流语言介绍:编译器与解释器:python特点:......