
正文
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-8fp = 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(列表类型)







