重新梳理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)

 

你可能感兴趣的:(python)