首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python计划删除文件

Python计划删除文件
EN

Stack Overflow用户
提问于 2021-11-30 02:29:36
回答 1查看 306关注 0票数 1

我试图安排一个循环,每分钟代码将帮助删除文件夹中的所有.docx文件。但是,我的代码实际上并没有删除文件夹中的任何.docx文件(我检查了路径是否正确,并运行了其他代码,比如计数文件数量,还为Mac上的终端添加了完整的磁盘访问权限),循环也收到了错误。

我的代码:

代码语言:javascript
复制
import os, os.path
import time
import schedule

csv_count = len(os.listdir("/Users/xxx/Desktop/FYP 1st Draft"))

def delectfiles():
    for file in os.scandir("/Users/xxx/Desktop/FYP 1st Draft"):
        if file.name.endswith(".docx"):
            os.unlink("/Users/xxx/Desktop/FYP 1st Draft")

schedule.every().minute.do(delectfiles)

while True:
    schedule.run_pending()
    time.sleep(1)

我所犯的错误:

代码语言:javascript
复制
Traceback (most recent call last):

  File "/Users/xxx/PycharmProjects/Jedox_batch/Jedox.py", line 16, in <module>
    schedule.run_pending()

  File "/Users/xxx/PycharmProjects/Jedox_batch/venv/lib/python3.8/site-packages/schedule/__init__.py", line 780, in run_pending
    default_scheduler.run_pending()

  File "/Users/xxx/PycharmProjects/Jedox_batch/venv/lib/python3.8/site-packages/schedule/__init__.py", line 100, in run_pending
    self._run_job(job)

  File "/Users/xxx/PycharmProjects/Jedox_batch/venv/lib/python3.8/site-packages/schedule/__init__.py", line 172, in _run_job
    ret = job.run()

  File "/Users/xxx/PycharmProjects/Jedox_batch/venv/lib/python3.8/site-packages/schedule/__init__.py", line 661, in run
    ret = self.job_func()

  File "/Users/xxx/PycharmProjects/Jedox_batch/Jedox.py", line 11, in delectfiles
    os.unlink("/Users/xxx/Desktop/FYP 1st Draft")

PermissionError: [Errno 1] Operation not permitted: '/Users/xxx/Desktop/FYP 1st Draft'

如有任何建议,将不胜感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-30 03:00:02

您没有将文件名附加到unlink命令中。我不熟悉os.scandir(),因此在下面的示例中将它更改为os.listdir():

代码语言:javascript
复制
def delectfiles():
    for file in os.listdir("/Users/xxx/Desktop/FYP 1st Draft"):
        if file.name.endswith(".docx"):
            os.unlink(os.path.join("/Users/xxx/Desktop/FYP 1st Draft/", file))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70163601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档