Python 实现文件夹下如果存在Excel文件就移动到另一个文件夹:
需求分析:
假如文件夹A下面有一个或多个Excel文件,现要将第一个excel文件移动到文件夹B中,待这个excel上传消失后再从文件夹A移动第二个excel文件到文件夹B,如此类推,直到文件夹A下的excel全部移动完。
实现代码:
import os
import shutil
import datetime
import time
MyFolder = r'C:\\Folder1\\' ##待移动Excel的文件夹
UploadFolder = r'C:\\Folder2' ##Folder2目标结果文件夹
try:
# 检测C:\\Folder2目标结果文件夹的Excel是否上传完毕
def check_Folder2():
Files = os.listdir(UploadFolder)
for k in range(len(Files)):
# 提取文件夹内所有文件的后缀
Files[k] = os.path.splitext(Files[k])[1]
a = '.xlsx'
if a in Files:
return 1 # 还在上传中
else:
return 0 # excel没有了,上传成功了,或继续移动
# 检测C:\\Folder1文件夹下是否存在excel
def check_Folder1():
Files = os.listdir(MyFolder)
for k in range(len(Files)):
# 提取文件夹内所有文件的后缀
Files[k] = os.path.splitext(Files[k])[1]
a = '.xlsx'
if a in Files:
return 1 # 文件夹下有excel
else:
return 0 # 文件夹下没有Excel
if check_Folder1() == 1: #等于1,C:\\Folder1下有需要上传的Excel文件
if check_Folder2() == 0: #等于0,C:\\Folder2文件夹下的Excel文件已经上传成功
lists = os.listdir(MyFolder) # 列出文件夹下所有的目录与文件
print(lists)
path = os.path.join(MyFolder, lists[0])
print(path)
isexcel = os.path.splitext(path)[1];
print(isexcel)
if isexcel=='.xlsx' or isexcel=='.xls':
if os.path.isfile(path):
shutil.move(path, UploadFolder) # 移动C:\\Folder1下的Excel文件到C:\\Folder2
print("移动成功")
else:
shutil.move(path, errorFileLog)
except Exception as e:
print(e)
以上是以excel文件为例,也可以移动其他类型的文件。
如果其他没问题的话,基本上可以实现文件夹下如果存在Excel文件就移动到另一个文件夹功能了。 END!!
注:如有缺陷或不足请反馈,我及时纠正,谢谢!!
笔记 2020-09-13