• Python基础学习笔记(十二)文件I/O


      参考资料:

      1. 《Python基础教程》

      2. http://www.runoob.com/python/python-files-io.html

      ▶ 键盘输入

      注意raw_input函数和input函数的区别。

      raw_input函数使用实例:

    #!/usr/bin/python
     
    str = raw_input("Input your string: ");
    print "This is your input string: ", str

      input函数使用实例:

    #!/usr/bin/python
     
    str = input("Input your string: ");
    print "This is your input string : ", str

      ▶ 打开和关闭文件

      open函数用于打开一个文件,创建一个file对象。

      语法如下:

    file object = open(file_name [, access_mode][, buffering])

      其中,access_mode的完全列表如下:

    模式描述
    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

      关于buffering,如果其值为0,不会有寄存。如果为1,会寄存。其它大于1的值,表示缓冲区的大小。负值,则寄存区的缓冲大小为系统默认。

    ▶ File对象

      file对象相关的属性列表如下:

    属性描述
    file.closed 返回true如果文件已被关闭,否则返回false。
    file.mode 返回被打开文件的访问模式。
    file.name 返回文件的名称。
    file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

       

      写文件实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    test = open("/test/test.txt", "wb") test.write( "This is a test. Thanks! "); fo.close()

      

      读文件实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    # 打开文件
    test = open("/test/test.txt", "r+")
    str = test.read(10);
    print "The string is : ", str
     
    # 查找当前位置
    position = test.tell();
    print "Current file position : ", position
     
    # 重定位指针到文件开头
    position = test.seek(0, 0);
    str = test.read(10);
    print "The string is : ", str
    # 关闭打开的文件
    fo.close()

      重命名文件实例(重命名test1.txt为test2.txt):

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import os
     
    # 重命名文件test1.txt为test2.txt。
    os.rename( "test1.txt", "test2.txt" )

      

      删除文件实例(删除刚才的test2.txt):

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import os
     
    # 删除文件test2.txt
    os.remove("text2.txt")

      ▶ 目录

      创建目录实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import os
     
    # 创建目录test
    os.mkdir("test")

      改变当前目录(类同cd命令):

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import os
     
    # 将当前目录改为"/home/test2"
    os.chdir("/home/test2")

      

      得到当前工作目录实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import os
     
    # 获取当前工作目录
    str = os.getcwd()

      删除目录实例: 

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import os
     
    # 删除”/home/x-man/test”目录
    os.rmdir("/home/x-man/test")
  • 相关阅读:
    JavaScript 将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数
    Java 从资源文件(.properties)中读取数据
    更改MySQL 5.7的数据库的存储位置
    PADS Layout VX.2.3 将PCB中的元器件封装保存到库
    怀疑安装MySQL之后,导致OrCAD Capture、Allegro就打不开
    Allegro PCB 转 PADS Layout 之后的修修补补
    Java 使用UDP传输一个小文本文件
    IntelliJ IDEA Commons IO环境搭建
    RestFul风格API(Swagger)--从零开始Swagger
    Spring容器的简单实现(IOC原理)
  • 原文地址:https://www.cnblogs.com/AmitX-moten/p/4869213.html
Copyright © 2020-2023  润新知