zoukankan      html  css  js  c++  java
  • day 12 文件操作

    1.文件定位读写  f.seek(2,0)   

    ##### f.seek(2,0)   
    
    In [4]: f = open("test.py","r")
    
    In [5]: f.seek(2,0)   
    Out[5]: 2
     
    #微调  2  两个字符   
    #大方向  0表示从开头读,1表示当前位置, 2表示文件末尾
    
    In [6]: f.readline()
    Out[6]: 'port random
    '
    
      In [11]: f.seek(0,0)    #从头开始读
      Out[11]: 0
    
     

     2.文件的当前位置  f.tell()

    ####  f.tell()
    
    In [9]: f.read()
    Out[9]: 'import random
    dfnsaf   
    dsafdsa   
    fdsaf  
    
    '
    
    
    In [10]: f.tell()
    Out[10]: 44
    
    In [11]: f.seek(0,0)
    Out[11]: 0
    
    In [12]: f.tell()
    Out[12]: 0
    
    In [13]: f.read(1)
    Out[13]: 'i'
    
    In [14]: f.tell()
    Out[14]: 1

     3. 文件,文件夹的常见操作 os

    In [15]:  import os
    In [17]: os.rename("test.py","let.py")       #重命名
    
     In [19]: os.remove("test1.py")  #删除文件
      
    In [21]: os.mkdir("test")   #创建目录
    In [23]: os.rmdir("test")    #删除目录
    
    
     In [26]: os.getcwd()    #获取当前绝对路径
    Out[26]: '/home/python/pythonS6/python基础06'
    
    
    In [27]: f = open("../xxx,txt","w")      #在上级目录创建文件
    In [29]: f.close()
    In [30]: ls ../
    python基础01/  python基础03/  python基础05/  xxx,txt
    
    
    In [31]: os.listdir("./")    #获取当前目录下的所有文件
    Out[31]: 
    ['07-read.py',
     '04-交换两个值.py',
     'aaa附件.py',
     'aaa.py',
     'love.py',
     '02-匿名函数拓展.py',
     'aa[cp]a',
     '10-大文件读取.py',
     '01-匿名函数.py',
     '09-复制文件名.py',
     'aaa[附件]',
     '05-num+=.py',
     'bbb',
     'aaa[cp].py',
     '08-复制文件.py',
     'let.py',
     'file_name + "[附件]"',
     '03-匿名函数.py',
     '06-write.py',
     'aaa[大文件].py']

     4.小应用:批量重命名文件

      1)版本1:创建文件

    python@ubuntu:~/pythonS6/python基础06$ mkdir test
    python@ubuntu:~/pythonS6/python基础06$ cd test/
    python@ubuntu:~/pythonS6/python基础06/test$ touch 权利的游戏-{0..5}.avi
    
    python@ubuntu:~/pythonS6/python基础06/test$ ls
    权利的游戏-0.avi  权利的游戏-2.avi  权利的游戏-4.avi
    权利的游戏-1.avi  权利的游戏-3.avi  权利的游戏-5.avi
     import os
     #1.获取用户要修改的目录下的文件
     dir_name = input("请输入要修改的目录:")
     
     #2.找到文件名字
     list_dir = os.listdir(dir_name)
     
     for name in list_dir:
         print(name)
     
     
     #3.修改文件名字
    ####  运行结果
    
    python@ubuntu:~/pythonS6/python基础06$ python3 11-文件批量重命名.py
    请输入要修改的目录:test
    权利的游戏-0.avi
    权利的游戏-2.avi
    权利的游戏-1.avi
    权利的游戏-3.avi
    权利的游戏-5.avi
    权利的游戏-4.avi

      

      2)版本2:

     import os
     #1.获取用户要修改的目录下的文件
     dir_name = input("请输入要修改的目录:")
     
     #2.找到文件名字
     list_dir = os.listdir(dir_name)
     
     for name in list_dir:
         print(name)
         os.rename(name,"[jd]-"+name)
     
     #3.修改文件名字
    ### 报错 没有文件  ,因为文件和程序没在同一目录
    Traceback (most recent call last):
      File "11-文件批量重命名.py", line 10, in <module>
        os.rename(name,"[jd]-"+name)
    FileNotFoundError: [Errno 2] No such file or directory: '权利的游戏-0.avi' -> '[jd]-权利的游戏-0.avi'

      3)版本3:修改默认目录

    import os
    #1.获取用户要修改的目录下的文件
    dir_name = input("请输入要修改的目录:")
    
    #2.找到文件名字
    list_dir = os.listdir(dir_name)
    
    os.chdir(dir_name)
    
    #3.修改文件名字
    for name in list_dir:
        print(name)
        os.rename(name,"[jd]-"+name)
    └── test
        ├── [jd]-权利的游戏-0.avi
        ├── [jd]-权利的游戏-1.avi
        ├── [jd]-权利的游戏-2.avi
        ├── [jd]-权利的游戏-3.avi
        ├── [jd]-权利的游戏-4.avi
        └── [jd]-权利的游戏-5.avi

      

      4)版本4:

     import os
     #1.获取用户要修改的目录下的文件
     dir_name = input("请输入要修改的目录:")
     
     #2.找到文件名字
     list_dir = os.listdir(dir_name)
     
     #os.chdir(dir_name)
     
     #3.修改文件名字
     for name in list_dir:
         print(name)
     
         old_file_name = dir_name + "/" +name
         new_file_name = dir_name + "/" + "al-" +name
         os.rename(old_file_name,new_file_name)

       

    └── test
        ├── al-[jd]-权利的游戏-0.avi
        ├── al-[jd]-权利的游戏-1.avi
        ├── al-[jd]-权利的游戏-2.avi
        ├── al-[jd]-权利的游戏-3.avi
        ├── al-[jd]-权利的游戏-4.avi
        └── al-[jd]-权利的游戏-5.avi

    5。批量删除文件名前多余的东西

  • 相关阅读:
    转:MongoDB · 引擎特性 · journal 与 oplog,究竟谁先写入?
    Oracle 11g R2(11.2.0.4) RAC 数据文件路径错误解决--ORA-01157 ORA-01110: 数据文件
    Oracle 高可用作业测试
    Oracle 常见进程
    Mycat-server-1.6.5 常见分片方式
    转:三思!大规模MySQL运维陷阱之基于MyCat的伪分布式架构
    RabbitMQ 安装
    cmd 切换目录和配置环境变量和Curl批量执行Url
    sql中表变量
    Core 项目下使用SQl语句
  • 原文地址:https://www.cnblogs.com/venicid/p/7881713.html
Copyright © 2011-2022 走看看