Python 文件遍历

  Python具备强大的解析能力,其中列表解析甚至可以作用在某些并非实际存储的序列上,任何可遍历对象都可以,包括可自动逐步读取的文件。

  例如下面的代码将会从逐行读取一个文本文件,并且在每一行的最后加上一个逗号。

  

input_file_name = input('Please input the input file name : ');
output_file_name = input('Please input the output file name : ');
fin = open(input_file_name,'r');
fout = open(output_file_name,'w');
for line in fin:
    line = line.strip('\n') + ',';
    fout.write(line+'\n');
fout.close();
fin.close();

 

几乎同样的工作,用Java来实现可以这样写

import java.util.Date;
import java.io.*;
import java.sql.Timestamp;

public class AddComma{
    public static void main(String[] args){
        if(args.length != 2){
            System.out.println("Use AddComma command: java AddComma [input file name] [output file name]");
            System.exit(-1);
        }
        
        try{
            File finput = new File(args[0]);
            FileReader fr = new FileReader(finput);
            BufferedReader br = new BufferedReader(fr);
            
            File foutput = new File(args[1]);
            FileWriter fw = new FileWriter(foutput);
            BufferedWriter bw = new BufferedWriter(fw);
            
            String str_get;
            String str_line;
            
            Date startDate = new Date();
            Long    timestamp_start = startDate.getTime();
            System.out.println("Program run at : "+timestamp_start.toString());
            while((str_line = br.readLine()) != null){
                str_get = str_line.trim() + ",";
                //System.out.println(str_get);
                bw.write(str_get);
                bw.newLine();
            }
            br.close();
            bw.close();
            Date    endDate = new Date();
            Long    timestamp_end = endDate.getTime();
            System.out.println("Time elapse is : "+(timestamp_end - timestamp_start)+" milliseconds");
            
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

 python 从一个文件中读取所有的整数,并且打印出来(这个文件中只有整数)

#coding=utf-8

fp = open('data.txt','r')
for line in fp:
        for item in [int(x) for x in line.split(' ') if line.strip()]:
                print(item)
fp.close()

从控制台读入一行数据,并且存放到一个列表当中

line = sys.stdin.readline() # 从控制台读入第一行输入
num = [int(x) for x in line.split(' ') if line.strip()] # 将第一行输入转换为list(列表类型)

 

posted @ 2014-10-17 23:45  fangying  阅读(825)  评论(0编辑  收藏  举报