Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python删除目录?_Python - Fatal编程技术网

使用Python删除目录?

使用Python删除目录?,python,Python,我使用如下子流程获取目录的输出:- directory_content = subprocess.getoutput("ssh -i /key.pem ubuntu@IP ls -l --time-style=long-iso /opt/orientdb/databases" | awk -F' ' '{print $6 $8}'") 我将输出转换为元组列表,这样我就可以得到目录和创建目录的日期 [('2019-04-25', 'database1'), ('20

我使用如下子流程获取目录的输出:-

directory_content = subprocess.getoutput("ssh -i /key.pem ubuntu@IP ls -l --time-style=long-iso /opt/orientdb/databases" | awk -F' ' '{print $6 $8}'")
我将输出转换为元组列表,这样我就可以得到目录和创建目录的日期

[('2019-04-25', 'database1'), ('2019-04-26', 'database2') .......]
我在列表上循环,得到相应的目录

for date,db in directory_content:
    if (date == '2019-04-25'):
        os.remove(db)
但我收到了错误信息:-

 os.remove(db)
FileNotFoundError: [Errno 2] No such file or directory
我可以使用一些关于如何删除目录的帮助。多谢各位

FileNotFoundError:[Errno 2]没有这样的文件或目录

for date,db in directory_content:
    if (date == '2019-04-25'):
        os.remove(db)
这并不是说你不能删除文件。也就是说没有文件。电脑肯定在告诉你那件事的真相

我看到两个问题

  • 目录列表是从ubuntu@IP,但afaict
    os.remove
    在本地执行。那可能是一个。。。问题
  • 目录名相对于
    /opt/orientdb/databases
    ,但没有证据表明进程执行时是当前工作目录

  • 对于Python中任何“不可能”的文件未找到错误,一个好的策略是将有问题的代码包装在try/catch块中,当捕获到异常时,打印参数名称和当前工作目录。几乎总是,当你把这两条信息串在一起时,你会用响亮的“duh!”表示同意计算机的意见。

    。仔细检查文件名拼写和路径,检查python文件是否与database1、database2等在同一目录中执行。。。。。还有,是否缺少任何文件扩展名?您应该(1)指向文件所在的位置或(2)。@something无论什么只是为了确认,您正在VM中运行python脚本,而不是在本地运行?@something无论python文件在本地运行,它将无法删除VM中的“database1”。。。。您需要在VM中运行scipt,或者在vpn中运行带有python的ssh。