python - ZipFile.extract 将文件夹提取到目录而不是包含的文件
问题描述
我想要实现的是一个文件夹观察程序,它检查一个新的 zip 文件是否包含 .cube 文件,如果是,将这些文件提取到另一个文件夹,但似乎发生的是......它成功检查它是否包含 .cube 文件但是当它要提取时,它会提取父文件夹,我只想提取并移动其中的文件。
import time
import json
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
from zipfile import *
if __name__ == "__main__":
patterns = ["*.zip"]
ignore_patterns = None
ignore_directories = False
case_sensitive = False
my_event_handler = PatternMatchingEventHandler(patterns, ignore_patterns, ignore_directories, case_sensitive)
def on_created(event):
handle_move(event)
def on_modified(event):
handle_move(event)
def on_moved(event):
handle_move(event)
def is_eligible(file_name):
f = open('./rules.json')
data = json.load(f)
for i in data:
print()
if file_name.upper().endswith(i["extension"].upper()):
return True
def trim_filename(fileName):
splitFileName = fileName.split("/")
return splitFileName[len(splitFileName) - 1]
def handle_move(event):
with ZipFile(event.src_path, 'r') as zipObj:
listOfFileNames = zipObj.namelist()
for fileName in listOfFileNames:
if is_eligible(fileName):
trimmedFileName = trim_filename(fileName)
print(event.src_path)
zipObj.extract(fileName,'D:/Temp Files/folder/')
print(trimmedFileName)
my_event_handler.on_created = on_created
my_event_handler.on_modified = on_modified
my_event_handler.on_moved = on_moved
path = "D:/Temp Files"
go_recursively = True
my_observer = Observer()
my_observer.schedule(my_event_handler, path, recursive=go_recursively)
my_observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
my_observer.stop()
my_observer.join()
解决方案
推荐阅读
- react-native - 在 Android/iOS 原生应用中嵌入 React Native 应用
- python-3.x - 为什么我得到一个 KeyError: 'title' with feedparser?
- opengl - 有没有使用 glDrawArrays() 绘制多个不同大小的点的无着色方法?
- php - Illuminate\Routing\Route 类的对象无法转换为字符串
- php - 连接问题:SSL + WebSocket(socketo.me) + Nginx
- node.js - REST 调用适用于 axios,但不适用于 Angular 5 项目中的 HttpClient
- ara - 无法启动 ara
- mysql - 没有周末的日期倒退
- excel - 在 Mac 上旁加载 Excel 加载项
- asp.net - 文件夹的 IIS 8 重写规则