精华内容
下载资源
问答
  • 今天在python中删除目录dirname,调用了os.rmdir(dirname),因为dirname目录中含有内容,为非空目录,因而导致报错,具体信息如下: OSError: [Error 39] Directory not empty: '/home/xxx/dirname' 建议改为调用...

    今天在python中删除目录dirname,调用了os.rmdir(dirname),因为dirname目录中含有内容,为非空目录,因而导致报错,具体信息如下:

    OSError: [Error 39] Directory not empty: '/home/xxx/dirname'

    建议改为调用shutil,具体代码如下:

    shutil.rmtree("/home/xxx/dirname")

    顺利运行通过

    -------------------- 正文到此结束------------------------

    推荐一个公众号:健哥聊量化,会持续推出股票相关基础知识,以及python实现的一些基本的分析代码。欢迎大家关注,二维码如下:

    相关文章列表如下:

    展开全文
  • 我们大家都知道,php rmdir()函数用于删除空目录,但如果要删除非空目录,我们必须将非空目录中的文件或子目录删除,本文章向大家介绍php如何使用递归函数删除非空目录,需要的朋友可以参考一下
  • 我们大家都知道,php rmdir()函数用于删除空目录,但如果要删除非空目录,我们必须将非空目录中的文件或子目录删除,本文章向大家介绍php如何使用递归函数删除非空目录,需要的朋友可以参考一下。 首先向大家介绍...
    我们大家都知道,php rmdir()函数用于删除空目录,但如果要删除非空目录,我们必须将非空目录中的文件或子目录删除,本文章向大家介绍php如何使用递归函数删除非空目录,需要的朋友可以参考一下。
    首先向大家介绍一下rmdir()函数。

    php rmdir()函数

    rmdir — 删除空目录

    语法:
    [php] view plain copy
    1. bool rmdir ( string $dirname [, resource $context ] )  
    尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。 失败时会产生一个E_WARNING级别的错误。
    参数:
    • dirname:目录的路径。 
    • context:在 PHP 5.0.0 中增加了对上下文(Context)的支持。

    php rmdir()删除非空目录

    上面已经说过,rmdir()函数只能删除空目录,如果是非空目录就需要先进入到目录中,使用unlink()函数将目录中的每个文件都删除掉,再回来将这个空目录删除。如果目录中还存在子目录,而且目录也非空,就需要使用递归的方法。自定义递归函数删除目录的源代码如下:
    [php] view plain copy
    1. <?php  
    2. /* by http://www.manongjc.com/article/27.html*/  
    3. function delDir($directory){//自定义函数递归的函数整个目录  
    4.     if(file_exists($directory)){//判断目录是否存在,如果不存在rmdir()函数会出错  
    5.         if($dir_handle=@opendir($directory)){//打开目录返回目录资源,并判断是否成功  
    6.             while($filename=readdir($dir_handle)){//遍历目录,读出目录中的文件或文件夹  
    7.                 if($filename!='.' && $filename!='..'){//一定要排除两个特殊的目录  
    8.                     $subFile=$directory."/".$filename;//将目录下的文件与当前目录相连  
    9.                     if(is_dir($subFile)){//如果是目录条件则成了  
    10.                         delDir($subFile);//递归调用自己删除子目录  
    11.                     }  
    12.                     if(is_file($subFile)){//如果是文件条件则成立  
    13.                         unlink($subFile);//直接删除这个文件  
    14.                     }  
    15.                 }  
    16.             }  
    17.             closedir($dir_handle);//关闭目录资源  
    18.             rmdir($directory);//删除空目录  
    19.         }  
    20.     }  
    21. }  
    22.   
    23. delDir("mydir");//调用delDir函数  
    24.   
    25. ?>  
    处理递归删除非空目录外,我们也可以使用操作系统命令“rm -rf”删除非空的目录,但也要从安全和跨平台方面考虑尽量不要去使用。
    展开全文
  • rmdir删除目录 语法: bool rmdir ( string $dirname [, resource $context ] )尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。 失败时会产生一个E_WARNING级别的错误。参数:1....

    php rmdir()函数

     

    rmdir ― 删除空目录

    语法:

    bool rmdir ( string $dirname [, resource $context ] )
    尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。 失败时会产生一个E_WARNING级别的错误。
    参数:
    1.dirname:目录的路径。 
    2.context:在 PHP 5.0.0 中增加了对上下文(Context)的支持。

    php rmdir()删除非空目录

    上面已经说过,rmdir()函数只能删除空目录,如果是非空目录就需要先进入到目录中,使用unlink()函数将目录中的每个文件都删除掉,再回来将这个空目录删除。如果目录中还存在子目录,而且目录也非空,就需要使用递归的方法。自定义递归函数删除目录的源代码如下:

    <?php
    function delDir($directory){//自定义函数递归的函数整个目录
    if(file_exists($directory)){//判断目录是否存在,如果不存在rmdir()函数会出错
    if($dir_handle=@opendir($directory)){//打开目录返回目录资源,并判断是否成功
    while($filename=readdir($dir_handle)){//遍历目录,读出目录中的文件或文件夹
    if($filename!='.' && $filename!='..'){//一定要排除两个特殊的目录
    $subFile=$directory."/".$filename;//将目录下的文件与当前目录相连
    if(is_dir($subFile)){//如果是目录条件则成了delDir($subFile);//递归调用自己删除子目录
    }
    if(is_file($subFile)){//如果是文件条件则成立unlink($subFile);//直接删除这个文件
    }
    }
    }
    closedir($dir_handle);//关闭目录资源
    rmdir($directory);//删除空目录
    }
    }
    }
    delDir("mydir");//调用delDir函数
    ?>

    <?php 
    $password='testtest.com'; 
    echo crypt($password); 
    //输出:$1$DZ3.QX2.$CQZ8I.OfeepKYrWp0oG8L1 
    /*第二个$与第三个$之间的八个字符是由PHP生成的,每刷新一次就变一次 
    */ 
    echo "<hr>"; 

    echo crypt($password,"testtest"); 
    //输出:tesGeyALKYm3A 
    //当我们要加自定义的盐值时,如例子中的testtest作为第二个参数直接加入, 超出两位字符的会截取前两位 
    echo "<hr>"; 

    echo crypt($password,'$1$testtest$'); 
    //输出:$1$testtest$DsiRAWGTHiVH3O0HSHGoL1 
    /*crypt加密函数有多种盐值加密支持,以上例子展示的是MD5散列作为盐值,该方式下 
    盐值以$1$$的形式加入,如例子中的testtest加在后两个$符之间, 
    超出八位字符的会截取前八位,总长为12位;crypt默认就是这种形式。 
    */ 
    echo "<hr>"; 
    //crypt还有多种盐值加密支持,详见手册 

    Sha1加密: 

    string sha1 ( string $str [, bool $raw_output = false ]); //跟md5很像,不同的是sha1()默认情况下返回40个字符的散列值,传入参数性质一样,第一个为加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,sha1()则会返回原始的20 位原始格式报文摘要 
    <?php 
    $my_intro="zhouxiaogang"; 
    echo sha1($my_intro); // b6773e8c180c693d9f875bcf77c1202a243e8594 
    echo "<hr>"; 
    //当然,可以将多种加密算法混合使用 
    echo md5(sha1($my_intro)); 
    //输出:54818bd624d69ac9a139bf92251e381d 
    //这种方式的双重加密也可以提高数据的安全性 
    非对称加密
    非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥);
    PHP中的多种加密技术及代码示例解析
    如图所示,甲乙之间使用非对称加密的方式完成了重要信息的安全传输。
    乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。
    得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。
    乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。
    在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文
    同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。
    在非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。 其中我们最见的算法是RSA算法
    以下是从网上摘抄的一段PHP通过openssl实现非对称加密的算法

    转载于:https://www.cnblogs.com/2881064178dinfeng/p/6156175.html

    展开全文
  • 在进行非空目录的删除时,我一直以为使用 rmdir 命令即可,但是系统提示该命令不可以删除非空目录 经过查阅资料发现删除非空目录需要使用 rm -rf 'filename' 其中参数 -f 表示force. 使用了该参数表示强制删除 ...

    在进行非空目录的删除时,我一直以为使用 rmdir 命令即可,但是系统提示该命令不可以删除非空目录

     

    经过查阅资料发现删除非空目录需要使用 rm -rf  'filename'

    其中参数 -f 表示force. 使用了该参数表示强制删除

    展开全文
  • rmdir 无法删除非空目录。 rm -rf 可以递归,强制,删除目录 转载于:https://www.cnblogs.com/everfight/p/rm_dir.html
  • linux c 删除非空目录

    2021-04-18 11:09:12
    Linux下系统api int rmdir(const char *pathname);可以删除目录。但使用rmdir函数时,目录必须为空,否则调用...故自己实现一个删除非空目录的函数,下面是函数的几个要点:    1.若要删除一个目录,必须将给目录下的
  • 删除非空目录 rm -rf+非空目录 删除空目录 rmdir+目录名 删除非空文件 rm -f+文件名
  • Win32 删除非空目录

    2019-05-15 22:19:29
    Win32 删除非空目录 DeleteFile(); //这是删除文件的win32 API RemoveFile(); //这是删除空目录的win32 API(注意,如果目录不为空的话,这个函数将执行失败) 如果目录不为空的话,我知道的有两种方法删除: 1....
  • 删除非空目录

    千次阅读 2012-07-06 14:43:01
    这个问题很basic,不过还是困扰了我一段时间.(这里主要讨论的是命令行模式...但是发现它无法删除非空目录. 后来发现了原来应该使用命令 rm -rf 目录名 其中参数-f表示force.使用了这个参数就不会提示你是否要删除了.
  • php function d_rmdir($dirname) { //删除非空目录 if(!is_dir($dirname)) { return false; } $handle = @opendir($dirname); while(($file = @readdir($handle)) !== false){ if($file != ‘.’ && $file != ‘.....
  • 但是发现它无法删除非空目录. 后来发现了原来应该使用命令 rm -rf 目录名 其中参数-f表示force.使用了这个参数就不会提示你是否要删除了. 转载于:https://www.cnblogs.com/aboutblank/p/3272131.html...
  • 例如删除当前目录下的非空目录 demo ,命令 rmdir demo 无法删除非空的目录. 应该使用命令 rm -rf 目录名 即如下命令: rm -rf demo   其中参数-f 表示force .使用了这个参数就不会提示你...
  • Python的OS模块自带rmdir和removedirs函数用于删除目录,但是两者都不能删除非空目录,以下代码定义了一个函数 remove_dir 用于删除非空目录。 import os def remove_dir(dir):  dir = dir.replace('\\', '/')  ...
  • linux删除非空目录

    2020-08-30 17:00:09
    如果是非空目录rmdir就不行了,此时可以用rm -rf 目录名。 -r 就是向下递归,不管有多少级目录,一并删除。 -f 表示force.使用了这个参数就不会提示你是否要删除了。
  • linux下删除非空目录

    万次阅读 2015-01-22 11:53:07
    删除非空文件夹的命令要使用 rm,而不是rmdir。 使用方式:rm [-rf] dirName  参数:-r 将目录及以下之档案亦逐一删除,-f 强行删除,不需询问。 rmdir命令是用来删除空的目录。 使用方式:rmdir [-p] ...
  • rm -rf 目录名 解释: 1、r意思是删除目录,f...2、如果目录为空,可以用 “rmdir 目录名”删除。 3、如果目录不为空,可以用“rm -r 目录名”删除。 转载于:https://www.cnblogs.com/dawenhao/p/6146101.html...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 770
精华内容 308
关键字:

rmdir删除非空目录