• python文件操作


    首先提到一个重要问题,python中,对路径的要求比较严格,windows下一定要是//,多一个或者少一个/都不行。在这个地方错几次了,我在想这个为什么是个问题呢?都这个年代了,所以说不定可以设置什么,只是我没找到。我是直接字符串赋值给的路径,比如indir='E://data//test//test.jpg'。是不是有函数可以直接把一个字符串转成path,这样就不限制有几个/了?

    转自:http://blog.sina.com.cn/s/blog_5ee7254801013zu7.html

    在python程序里面我们经常需要对文件进行操作,Windows下的文件目录路径使用反斜杠“”来分隔。但是,和大多数语言一样,Python代码里面,反斜杠“”是转义符,例如“ ”表示回车、“ ”表示制表符等等。这样,如果继续用windows习惯使用“”表示文件路径,就会产生歧义。

          例如:“c: est.txt”这表示c盘根目录下的一个文件,还是表示一个字符串呢?因为“ ”也可以解释为制表符。如果让我们人来判断,这当然是一个很简单的问题。但是机器就无法做出正确的判断了,只有没有歧义的代码机器才会正确执行。

          解决办法,采用下面任何一种书写形式均可:

    • 使用斜杠“/”: "c:/test.txt"… 不用反斜杠就没法产生歧义了 
    • 将反斜杠符号转义: "c:\test.txt"… 因为反斜杠是转义符,所以两个"\"就表示一个反斜杠符号 
    • 使用Python的raw stringr"c: est.txt" … python下在字符串前面加上字母r,表示后面是一个原始字符串raw string,不过raw string主要是为正则表达式而不是windows路径设计的,所以这种做法尽量少用,可能会出问题。

    ////////////////////////////////////////////////

    python实现文件的copy

    import shutil

       shutil.copy(sourceDir, targetDir)

    python删除文件可以用os模块的remove方法, 例如:

    import os
    
    os.remove('/file/path/to/delete')



    如果要把整个文件夹删掉,需要使用shutil模块的rmtree方法:

    import shutil
    
    shutil.rmtree('/dir/to/delete')




    python用户手册上详细介绍了怎么读文件效率最佳。
    for line in open('file.txt'):
      print line

    读文件的方式很多,但是这是最效率的,赞。最近看rbg的代码,大部分都是这种方式,同时还结合with as,还是要赞叹,rbg的代码绝对是不亚于其科研实力啊。
    转载请注明出处,谢谢。
  • 相关阅读:
    pdf.js使用
    当前时间距离下一个分钟值以0或者5结尾的时间点(单位:毫秒)小于1分钟时,返回下下个以0或5结尾的时间点
    1
    Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot get a connection, pool error Pool exhausted 异常原因排查
    gcp导出mysql慢日志写入数据库分析
    redis慢日志结构化
    谷歌云监控告警
    google-cloud的sql-rds导出my.cnf
    慢sql 实时钉钉告警
    docker跨网段搭建gp测试环境
  • 原文地址:https://www.cnblogs.com/jianyingzhou/p/4634738.html
Copyright © 2020-2023  润新知