Python文件处理

读取文件

本地文件

input_file = open('note.txt','r')
for line in input_file:
    line = line.strip() #去除前后空格
    print(line)
input_file.close()

若将其改为函数形式:

#filename.py
import sys

def process_file(filename):
'''Open, read, and print a file.'''    
    input_file = open(filename,'r')
    for line in input_file:
        line = line.strip()
        print(line)
    input_file.close()
if __name__ == '__main__':
    process_file(sys.argv[1])

在命令行运行该文件,输入如下命令:

python filename.py test.txt

命令中的test.txt对应于sys.argv[i]

互联网上的文件

# coding=utf-8
import urllib.request
url = 'http://www.weather.com.cn/adat/sk/101010100.html'
web_page = urllib.request.urlopen(url)
for line in web_page:
    line = line.strip()
    print(line.decode('utf-8')) #加上decode函数才能显示汉字
web_page.close()

输出结果:

{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"9","WD":"南风","WS":"2级","SD":"26%","WSE":"2","time":"10:20","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1014"}}

若是在命令行运行该文件,输入如下命令:

python filename.py

写入文件

再打开文件时,除了需要制定文件名外,还需要制定一个模式(“r”,”w”,”a”,分别对应于读取、写入、追加)。如果没有制定模式,则应用默认模式”r”。当以写入模式打开文件且该文件尚不存在时,就会创建出一个相应的新文件。
例如,将“Computer Science”放到文件test.txt中:

output_file = open('test.txt','w')
output_file.write('Computer Science')
output_file.close()

一个同时具有读取和写入功能的事例,从输入文件的每一行读取两个数字,在另外一个文件中输出这两个数字以及它们的和。

#test.py
def mysum(input_filename, output_filename):
    input_file = open(input_filename,'r')
    output_file = open(output_filename,'w')
    for line in input_file:
        operands = line.split()
        sum_value = float(operands[0]) + float(operands[1])
        new_line = line.rstrip() + ' ' + str(sum_value) + '\n'
        output_file.write(new_line)
    output_file.close()

rstrip()函数用于去掉输入文件每行的换行符。

函数调用:

from test import *
mysum('test.txt', 'test2.txt')


转载:http://blog.csdn.net/foreverling/article/details/44874895

上一篇:【Python之旅】第七篇(一):再谈Python多线程


下一篇:Android中图片的上传和下载