zoukankan      html  css  js  c++  java
  • python 查看文件名和文件路径

    查看文件名和文件路径

    复制代码
    1 >>> import os
    2 >>> url = 'https://images0.cnblogs.com/i/311516/201403/020013141657112.png'
    3 >>> filename = os.path.basename(url)
    4 >>> filepath = os.path.dirname(url)
    5 >>> filename 
    6 '020013141657112.png'
    7 >>> filepath
    8 'https://images0.cnblogs.com/i/311516/201403'
    9 >>> 
    复制代码
    1 import os
    2 print(os.path.realpath(__file__))    # 当前文件的路径
    3 print(os.path.dirname(os.path.realpath(__file__)))  # 从当前文件路径中获取目录
    4 print(os.path.basename(os.path.realpath(__file__))) # 从当前文件路径中获取文件名

    1 print(os.listdir(dirname))     # 只显示该目录下的文件名和目录名,不包含子目录中的文件,默认为当前文件所在目录
    复制代码
     1 import os
     2 
     3 # os.walk()遍历文件夹下的所有文件
     4 # os.walk()获得三组数据(rootdir, dirname,filnames)
     5 def file_path(file_dir):
     6     for root, dirs, files in os.walk(file_dir):
     7         print(root, end=' ')    # 当前目录路径
     8         print(dirs, end=' ')    # 当前路径下的所有子目录
     9         print(files)            # 当前目录下的所有非目录子文件
    
    复制代码
     
     
    ===============================================================================

    以下是把sourceDir目录下的以.JPG结尾的文件所有拷贝到targetDir目录下:

    <span style="font-size:18px;">>>>import os
    >>> import os.path
    >>> import shutil 
    >>> def copyFiles(sourceDir,targetDir):
    	for files in os.listdir(sourceDir):
    		sourceFile = os.path.join(sourceDir,files)   //把文件夹名和文件名称链接起来
    		targetFile = os.path.join(targetDir,files)
    		if os.path.isfile(sourceFile) and sourceFile.find('.JPG')>0: //要求是文件且后缀是jpg

    shutil模块

    复制文件夹

    复制文件

    复制文件的时候。假设指定的文件目的位置之间有文件夹不存在。则会抛出错误。

    所以最好在拷贝之间确认文件夹存在。

    当文件夹存在的时候,复制文件就没有问题了。

    删除文件夹使用例如以下函数:

    shutil.rmtree('d:/dd')

    移动文件或者目录到另外一个地方:

    shutil.move('d:/c.png','e:/')

    -------------------------------------------

    那么存在一个问题就是。copy函数和copyfile函数二者的差别是什么呢?

    看help:

    从help中能够看出来,copyfile不过把文件复制到目的文件。可是copy函数能够把文件的mode也一起拷贝。比方说原来的文件有+x可运行权限,那么目的文件也会有可运行权限。


    删除一级文件夹下的全部文件:

    <span style="font-size:18px;">def removeFileInFirstDir(targetDir): 
         for file in os.listdir(targetDir): 
             targetFile = os.path.join(targetDir,  file) 
             if os.path.isfile(targetFile): //仅仅删除文件不删除目录
                 os.remove(targetFile)</span>

    文本内容的复制,把文件夹下的全部文件的内容都写入到目标文件里:
    <span style="font-size:18px;">def coverFiles(sourceDir,  targetDir): 
            for file in os.listdir(sourceDir): 
                 sourceFile = os.path.join(sourceDir,  file) 
                 targetFile = os.path.join(targetDir,  file) 
                 #cover the files //复写?
                 if os.path.isfile(sourceFile): 
                     open(targetFile, "wb").write(open(sourceFile, "rb").read())</span>

    <span style="font-size:18px;">def writeVersionInfo(targetDir): 
         open(targetDir, "wb").write("Revison:")</span>

    使用python脚本进行文件的操作是非常方便的的。省却非常多时间
  • 相关阅读:
    OpenCV里面的一些常用函数
    c++ 里面的字符类型转换
    互斥研究
    git 命令
    pipe的操作
    二叉树总结(五)伸展树、B-树和B+树
    二叉树总结(四)平衡二叉树
    二叉树总结(三)二叉搜索树
    [LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
    二叉树总结(一)概念和性质
  • 原文地址:https://www.cnblogs.com/zhangdingqu/p/9806934.html
Copyright © 2011-2022 走看看