使用python处理文件
来源:互联网 发布:无人驾驶近年数据 编辑:程序博客网 时间:2024/05/31 18:29
背景:
260个学生,分52组,每组1-6人,交作业时只需要一个人代表整个team交,有多次作业,每次可以由不同的人提交。
文件名格式为:学号_姓名。我只负责其中9组,所以要从52个组内挑出我负责的9组,每次对着40多个人的名单从50多个文件名中检索出其中9个,太麻烦。
于是想用脚本挑出我自己负责的那部分,可是又不会windows下的shell,其实linux下也不会。。。。
刚好学了python,就打算用python处理一下。
代码如下:
import osname = "homework2" ###select files in which dir,需要处理的文件所在文件夹####我负责的9个组的学号,每行一个teamtasks=(111250116,111250158,111250196,111250198,111250222, 111250199,111250200,111250210,111250211,128351018, 111250114,111250206,111250213,111250242,111250244, 111250153,111250171,111250214,101250032,101250038, 111250184,111250189,111250205,111250215,111250223, 111250207,111250212,111250216,111250217,111250232, 111250209,111250218,111250231,111250236,101250202, 111250202,111250228,111250235,111250243,111250252, 111250226,111250227,111250229,111250230,111250240)####定义一个查找函数,查找给定的学号是不是在我负责的名单里,####在就返回在元组里的编号,否则返回-1def find(num): n=0 while n<len(tasks): if(tasks[n]==num): return n; n = n+1 return -1files = os.listdir(name)###列出目录下所有文件curdir=os.path.join(os.getcwd(),name)###得到需要处理文件所在目录绝对路径print curdirfor f in files: #print f num = (int)(str(f)[:9])####前9位为学号 res = find(num) fp = os.path.join(curdir,f)###当前处理的文件的绝对路径 #print fp if res==-1: ##not finds os.remove(fp) ##delete file删除文件,参数需要为绝对路径 print "remove "+f+"..." else: ###rename to add team id fn = "team_" + str((int)(res/5+37)) + "_" + f ##文件名加所在组前缀 fnp= os.path.join(curdir,fn) os.rename(fp,fnp)###重命名文件 print "rename "+fn#print filesprint "done."temp = input("press ENTER to exit...")
运行效果很好,比手工查找效率高的多。。。
脚本真好用。。。比c/c++/java之类的简单的多。。
- 使用python处理文件
- 使用Python处理文件
- 使用python处理log文件
- 使用Python处理Excel文件
- 使用python处理csv文件
- Python使用ElementTree处理xml文件
- 使用Python对json文件进行处理
- Python笔记:使用pywin32处理excel文件
- 基因数据:使用Python处理vcf文件
- Python使用pandas处理CSV文件
- Python-使用CSV模块进行文件处理
- Python open()文件处理使用介绍
- python基础学习(6)—使用Python处理文件
- python文件处理(1)
- python文件处理
- python初学-文件处理
- python处理zip文件
- python文件处理
- (笔记九)多线程、Lock、停止线程
- 一位软件工程师的6年总结
- SQL指令— CONCAT(字符串连接函数)
- POj 1883 数字排列 next_permutation解决之
- 设计模式之一 :单例设计模式
- 使用python处理文件
- C# 线程
- 安装Nessus
- 2013编程之美-资格赛-传话游戏-编程有问题 艹 理解错题意 不过还好 熟悉了《map》结构
- 用JS获取当前的时间
- UVA 10954 ADD ALL
- 关于快速排序的错误问题
- 动态规划算法的深入理解(一)
- 【腾讯第二届校园编程马拉松】HDU-4525,威威猫系列故事——吃鸡腿