牛骨文教育服务平台(让学习变的简单)

Python:读文件和写文件

  1. 写文件
#! /usr/bin/python3

"makeTextFile.py -- create text file"

import os

def write_file():
    "used to write a text file."
    
    ls = os.linesep
    #get filename
    fname = input("Please input filename:")

    while True:
    
        if os.path.exists(fname):
            print("Error: "%s" already exists" % fname)
            fname = input("Please input filename:")
        else:
            break
        
    #get file conent linesOnScreen
    all = []
    print("
Enter lines ("." to quit).
")

    while True:
        entry = input(">")
        if entry == ".":
            break
        else:
            all.append(entry)
            
    try:
        fobj = open(fname,  "w")
    except IOError as err:
        print("file open error: {0}".format(err))  
        
    fobj.writelines(["%s%s" % (x,  ls) for x in all])
    fobj.close()
    
    print("WRITE FILE DONE!")
    
    return fname

  1. 读文件
#! /usr/bin/python3

"readTextFile.py -- read and display text file."

def read_file(filename):
    "used to read a text file."
    
    try:
        fobj = open(filename,  "r")
    except IOError as err:
        print("file open error: {0}".format(err))  
    else:
        for eachLine in fobj:
            print(eachLine)
        fobj.close()
        

    

  1. 主程序
#! /usr/bin/python3

"write_and_read_file.py -- write and read text file."

import makeTextFile
import readTextFile

if __name__ == "__main__":
    
    #wrie file
    filename = makeTextFile.write_file()
    
    #read file
    readTextFile.read_file(filename)

4.运行结果

Python 3.2.2 (default, Sep  4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on winxp-duanyx, Standard
>>> Please input filename:d:	estpython.log

Enter lines ("." to quit).

>this is a test file.
>ok ,let us input . to end the content input.
>.
WRITE FILE DONE!
this is a test file.

ok ,let us input . to end the content input.

>>>