• 重新梳理Python基础(4)


    1. 文件写操作

    文件写操作,需要在打开文件的时候添加参数,如

    open("filename", "w")

    以下是对文件操作的函数小结

    close -- Closes the file. Like File->Save.. in your editor.
    read -- Reads the contents of the file, you can assign the result to a variable.
    readline -- Reads just one line of a text file.
    truncate -- Empties the file, watch out if you care about the file.需要open的时候添加w参数
    write(stuff) -- Writes stuff to the file.

    参考代码

    View Code
    from sys import argv
    
    script, filename = argv
    
    print "We are going to erase %r." % filename
    print "If you don't want that, hit CTRL-C"
    print "If you do want that, hit RETURN"
    
    raw_input("?")
    
    print "Opening the file..."
    target = open(filename, 'w')
    
    print "Truncating the file. Goodbye!"
    target.truncate()
    
    print "Now I am going to ask you for three lines."
    
    line1 = raw_input("line 1: ") 
    line2 = raw_input("line 2: ")
    line3 = raw_input("line 3: ")
    
    print "I'm going to write these to the file."
    
    target.write(line1)
    target.write("\n")
    target.write(line2)
    target.write("\n")
    target.write(line3)
    target.write("\n")
    
    print "And finally, we close it."
    target.close()

    输出

    View Code
    E:\SkyDrive\python\the hard way to learn python>python ex16.py ex16_sample.txt
    We are going to erase 'ex16_sample.txt'.
    If you don't want that, hit CTRL-C
    If you do want that, hit RETURN
    ?
    Opening the file...
    Truncating the file. Goodbye!
    Now I am going to ask you for three lines.
    line 1: I have some books.
    line 2: You have some books.
    line 3: He has some books.
    I'm going to write these to the file.
    And finally, we close it.

    open模式的小结,参考http://hi.baidu.com/leejun_2005/item/3f6f8ddc8a8b3b56d73aae64

    "r"   以读方式打开,只能读文件 , 如果文件不存在,会发生异常      
    "w" 以写方式打开,只能写文件, 如果文件不存在,创建该文件,如果文件已存在,先清空,再打开文件
    "rb"   以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常      
    "wb" 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件,如果文件已存在,先清空,再打开文件
    "rt"   以文本读方式打开,只能读文件 , 如果文件不存在,会发生异常      
    "wt" 以文本写方式打开,只能写文件, 如果文件不存在,创建该文件,如果文件已存在,先清空,再打开文件
    "rb+"   以二进制读方式打开,可以读、写文件 , 如果文件不存在,会发生异常      
    "wb+" 以二进制写方式打开,可以读、写文件, 如果文件不存在,创建该文件,如果文件已存在,先清空,再打开文件
    

      

    2. 把一个文件写到另一个文件

    View Code
    from sys import argv
    from os.path import exists
    
    script, from_file, to_file = argv
    
    print "Copying from %s to %s" % (from_file, to_file)
    
    in_file = open(from_file)
    fromdata = in_file.read()
    
    print "The input file is %d bytes long" % len(fromdata)
    
    print "Does the output file exist? %r" % exists(to_file) #如果不存在,会新建这个文件
    print "Ready, hit RETURN to continue, CTRL-C to abort."
    raw_input()
    out_file = open(to_file, "w")
    out_file.write(fromdata)
    
    print "All done"
    
    out_file.close()
    in_file.close()

    3. 贴个无聊的代码吧

    View Code
    from sys import argv
    from os.path import exists
    
    script, input_file = argv
    
    print "Is %r exsit?" % input_file
    exists(input_file)
    indata = """I have a book.
    You have two.
    He has three.
    """
    open(input_file, "w").write(indata)
    
    
    def print_all(f):
        print f.read()
    
    def rewind(f):
        f.seek(0)
    
    def print_a_line(line_count, f):
        print str(line_count) + ": ", f.readline()
    
    current_file = open(input_file)
    
    print "First let's print the whole file:\n"
    
    print_all(current_file)
    
    print "Now let's rewind, kind of like a tap."
    
    rewind(current_file)
    
    print "Let's print three lines"
    
    current_line = 1
    print_a_line(current_line, current_file)
    
    # current_line = current_line + 1
    current_line += 1
    print_a_line(current_line, current_file)
    
    current_line = current_line + 1
    print_a_line(current_line, current_file)
  • 相关阅读:
    烂泥:mysql修改本地主机连接
    烂泥:ESXI开启SNMP服务
    烂泥:【解决】VMware Workstation中安装ESXI5.0双网卡问题
    JS-日历签到
    CSS-文本(中,英)
    js-无缝向上滚动
    js-键盘回车搜索enter
    小程序-初次进入小程序的授权问题(授权更新后的完整步骤)button主动授权
    字蛛(font-spider)-单独压缩字体(解决页面少有的特殊字体的字体包引用)
    js-利用插件qrcode.min.js,前端实时生成二维码
  • 原文地址:https://www.cnblogs.com/dollarzhaole/p/2963209.html
Copyright © 2020-2023  润新知