zoukankan      html  css  js  c++  java
  • 笨办法16读写文件

    代码如下:

     1 #coding:utf-8
     2 from sys import argv
     3 
     4 script, filename = argv
     5 
     6 print "We're going to erase %r." %filename #提示语句,告知用户将抹掉文件
     7 print "If you don't want that, hit CTRL-C (^C)." #提示语句,停止操作的按键
     8 print "If you do want that, hit RETURN." #提示语句,继续操作的按键
     9 
    10 raw_input("?") #让用户输入是否要继续操作
    11 
    12 print "Opening the file..." #提示语句,正在打开文件
    13 target = open(filename, 'w') #将打开的文件清空并赋值给target,w不能大写
    14 
    15 print "Truncating the file. Goodbye!" #提示语句,正在清空文件
    16 target.truncate() #执行清空文件操作#truncate()其实是不需要的,因为open的参数是w
    17 
    18 print "Now I'm going to ask you for three lines." #提示语句
    19 
    20 line1 = raw_input("line 1:") #输入第一行的内容
    21 line2 = raw_input("line 2:") #输入第二行的内容
    22 line3 = raw_input("line 3:") #输入第三行的内容
    23 
    24 print "I'm going to write these to the file." #提示语句
    25 
    26 target.write(line1) #写入第一行的内容
    27 target.write("
    ") #写入换行符
    28 target.write(line2)
    29 target.write("
    ")
    30 target.write(line3)
    31 target.write("
    ")
    32 
    33 print "And finally, we close it." #提示关闭文件
    34 target.close() #关闭(保存)文件

    运行结果: 
    这里写图片描述

    新增的文件内容: 
    这里写图片描述

    注: 
    ‘w’:以只写模式打开。若文件存在,则会自动清空文件,然后重新创建;若文件不存在,则新建文件。使用这个模式必须要保证文件所在目录存在,文件可以不存在。该模式下不能使用read*()方法


    加分练习2:代码如下

    1 print "Please enter your filename, and I'll read it."
    2 
    3 filename = raw_input(">")
    4 txt = open(filename)
    5 print txt.read()

    运行结果: 
    这里写图片描述


    加分练习3:写了两种方法

    1 #target.write(line1+"
    "+line2+"
    "+line3) #变量不需加引号,字符串需要加双引号#a+b参考第6课
    2 target.write("%s
    %s
    %s" % (line1, line2, line3)) #这里如果用%r,文件的每行字符会有引号

    加分练习4:找出为什么我们需要给 open 多赋予一个 ‘w’ 参数。提示: open 对于文件的写入操作态度是安全第一,所以你只有特别指定以后,它才会进行写入操作。 
    因为默认open只能读取不能写入,所以要写入内容就必须加入’w’参数。 
    truncate()其实是不需要的,因为open的参数是w

  • 相关阅读:
    Effective C# Item27:避免ICloneable接口
    Effective C# Item28:避免强制类型转换
    Effective C# Item25:尽可能将类型实现为可序列化的类型
    Effective C# Item31:尽可能实现短小简洁的方法
    Effective C# Item26:使用IComarable和IComparer接口实现排序关系
    Effective C# Item33:限制类型的可见性
    Effective C# Item24:声明式编程优于命令式编程
    Effective C# Item34:创建大粒度的Web API
    Effective C# Item32:尽可能实现小尺寸、高内聚的程序集
    Effective C# Item21:使用委托表达回调
  • 原文地址:https://www.cnblogs.com/p36606jp/p/7648183.html
Copyright © 2011-2022 走看看