Python脚本:linux上将筛选的文件夹复制到另一个目录,保存目录结构以及文件和文件夹操作方法
import os,shutil def newDir(dir_path):
if not os.path.exists(dir_path):
os.makedirs(dir_path) def copydir(where_path,go_path,start_time,end_time):
newDir(go_path)
for brand in os.listdir(where_path):
brand_path = os.path.join(where_path, brand)
#print('brand_path',brand_path)
for site in os.listdir(brand_path):
site_path = os.path.join(brand_path,site)
#print('site_path',site_path)
for child in os.listdir(site_path):
file_time = '-'.join(child.split('-')[2:5])
go_dir = go_path + '/' + brand + '/' + site#动态生成子目录
print(file_time[:10])
if file_time[:10] >= start_time and file_time[:10] <= end_time:
child_path = os.path.join(site_path,child) if not os.path.isdir(child_path):
#print('file',child_path)
newDir(go_dir)
shutil.copy(child_path,go_dir)
else:
#print('dir',child_path)
#复制文件夹能够自己生成目录
shutil.copytree(child_path,go_dir+'/'+child) #删除文件名包含2018的文件和文件夹
def deldir(path):
for child in os.listdir(path):
child_path = os.path.join(path,child)
if '2018' in child:
if not os.path.isdir(child_path):
os.unlink(child_path)
else:
shutil.rmtree(child_path) if __name__ == "__main__":
copydir('/lingtian/static_files/mkcms_dev/memo/memo_htmls','/lingtian/static_files/mkcms_dev','2018-09-01','2018-09-30')
#deldir('/lingtian/static_files/mkcms_dev')
我要复制的目录三层,所以有三层循环,保留了原来的目录结构
附上python相关文件操作,文件的复制和移动使用shutil包 ,删除使用os包
#文件、文件夹的移动、复制、删除、重命名
#导入shutil模块和os模块
import shutil,os
#复制单个文件
shutil.copy("C:\\a\\1.txt","C:\\b")
#复制并重命名新文件
shutil.copy("C:\\a\\2.txt","C:\\b\\121.txt")
#复制整个目录(备份)
shutil.copytree("C:\\a","C:\\b\\new_a")
#删除文件
os.unlink("C:\\b\\1.txt")
os.unlink("C:\\b\\121.txt")
#删除空文件夹
try:
os.rmdir("C:\\b\\new_a")
except Exception as ex:
print("错误信息:"+str(ex))
#提示:错误信息,目录不是空的
#删除文件夹及内容
shutil.rmtree("C:\\b\\new_a")
#移动文件
shutil.move("C:\\a\\1.txt","C:\\b")
#移动文件夹
shutil.move("C:\\a\\c","C:\\b")
#重命名文件 shutil.move("C:\\a\\2.txt","C:\\a\\new2.txt")
#重命名文件夹
shutil.move("C:\\a\\d","C:\\a\\new_d")
Python脚本:linux上将筛选的文件夹复制到另一个目录,保存目录结构以及文件和文件夹操作方法的更多相关文章
- python脚本linux上后台执行
1.脚本后加& 加了&以后可以使脚本在后台运行,这样的话你就可以继续工作了.但是有一个问题就是你关闭终端连接后,脚本会停止运行 python3 run.py >/dev/null ...
- Java中将文件夹复制到另一个文件夹
文件夹的拷贝*** public static void copyDir(String sourcePath, String newPath) { File start = new File(sour ...
- Python脚本:Linux自动化执行Python脚本
1.环境及其工具: ubuntu 16.04 python2.7(自带) pip2.7(安装) virtualenv(安装) crontab (自带) 2.pip2.7安装 (1)尝试使用 sudo ...
- Python输出内容的三种方式:print输出 python脚本执行 linux直接执行
1. 在linux中安装python后,在linux命令行中输入python即可切换到Python命令行下 退出python命令行的命令: 老版本:ctrl+D 新版本:quit();或exit() ...
- Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹 1.将一个文件夹下的所有内容复制到另一个文件夹下 cp -r /home/packageA/* /home/cp/packageB ...
- Linux 将文件夹下的所有文件复制到另一个文件里
如何将文件夹/home/work下的文件复制到/home/temp里面? 使用命令: cp -R /home/work/* /home/temp *表示所有文件 但是/home/work 下的隐藏文件 ...
- 将python脚本打包为exe可执行文件
技术背景 在很多情况下,编程人员是在Linux环境下完成的编程任务,但是更多的使用人员是在Windows环境下的,比方说,在参考链接1的文章中提到: 那么我们就不得不考虑一个环境转化的问题.pytho ...
- zabbix 利用python脚本实现钉钉告警
Zabbix 利用python脚本实现钉钉告警 1.安装python3.6环境 2.创建python脚本 cd local/zabbix-4.0.3/share/zabbix/alertscripts ...
- vim没有权限却可以强制保存时所引起的思考 ------ 文件夹权限对所属文件的权限影响
最近在拿着Linux 鸟叔私房菜对着Linux 系统学习一下基本操作,虽然已经使用Linux系统已经好多年不过却一直没有系统的学习一下.在用vim 编辑一个文件的时候出现了一个很神奇的事情,明明该文件 ...
随机推荐
- 靠!安装了macOS Catalina(10.15.4)后,文件系统都乱套了
最近闲来无事,决定将我的两台apple电脑升级成最新的苹果系统(macOS Catalina),当然,由于以前升级过多次mac系统,所以毫不犹豫从app store下载了最新的macOS Cetali ...
- thinkphp5--model数据操作的坑
最近用thinkphp5开发,经常用到model了来操作数据,但是操作多了,就发现他的坑了. 就好像如果你只是初始化一个model对象,但是你却用这个对象进行多次的数据操作,这时候他的数据就会发生混乱 ...
- Windows 切换 working directory
用函数 _chdir() 例如用计划任务启动,pwd 是 system32 使用相对路径的地方会出错. 在 main 函数刚启动的时候转换一下 working directory 可解.
- java中ThreadLocalRandom的使用
java中ThreadLocalRandom的使用 在java中我们通常会需要使用到java.util.Random来便利的生产随机数.但是Random是线程安全的,如果要在线程环境中的话就有可能产生 ...
- 使用spring boot创建fat jar APP
文章目录 介绍 build和run fat jar和 fat war 更多配置 介绍 在很久很很久以前,我们部署web程序的方式是怎么样的呢?配置好服务器,将自己写的应用程序打包成war包,扔进服务器 ...
- SpringCloud系列之集成Dubbo应用篇
目录 前言 项目版本 项目说明 集成Dubbo 2.6.x 新项目模块 老项目模块 集成Dubbo 2.7.x 新项目模块 老项目模块 参考资料 系列文章 前言 SpringCloud系列开篇文章就说 ...
- 【shell】Shell变量基础及深入
1. 什么是变量 变量就是用一个固定的字符串(也可能是字符数字等的组合),替代更多更复杂的内容,这个内容里可能还会包含变量和路径,字符串等其他内容. 变量的定义是存在内存中. x=1 y=2 2. 变 ...
- Galera将死——MySQL Group Replication正式发布
2016-12-14 来源:InsideMySQL 作者:姜承尧 MySQL Group Replication GA 很多同学表示昨天的从你的全世界路过画风不对,好在今天MySQL界终于有大事情发生 ...
- 截取nginx日志
截取nginx日志 sed -n '/24\/Feb\/2017:11:00:00/,/24\/Feb\/2017:12:00:00/p' yunying_api.wanglibao.com.acce ...
- Spring MVC之LocaleResolver详解
2019独角兽企业重金招聘Python工程师标准>>> 对于LocaleResolver,其主要作用在于根据不同的用户区域展示不同的视图,而用户的区域也称为Locale,该信息是可以 ...