一、
#定义函数,用于打开指定类型文件的函数
def open_allfile(path,filetype):
data=[]
import glob
import os
read_files=glob.glob(path+'*'+filetype)
for i in read_files:
with open(i,'rb') as infile:
data.append(infile.read())
return data
path指定路径;filetype指定文件类型。
#定义函数用于,获得文件名
def get_filename(path,filetype):
import os
name=[]
for root,dirs,files in os.walk(path):
for i in files:
if filetype in i:
name.append(i.replace(filetype,''))
return name
3
#测试
path='C:\\Users\\jyjh\\Desktop\\soures\high_CG_pathogen\\'
filetype='.txt'
data=open_allfile(path,filetype)
name=get_filename(path,filetype)
name
二、
需求分析
1、读取指定目录下的所有文件
2、读取指定文件,输出文件内容
3、创建一个文件并保存到指定目录
实 现 过 程
Python写代码简洁高效,实现以上功能仅用了40行左右的代码~ 昨天用Java写了一个写入、创建、复制、重命名文件要将近60行代码;
不过简洁的代价是牺牲了一点点运行速度,但随着硬件性能的提升,运行速度的差异会越来越小,直到人类无法察觉~
#-*- coding: UTF-8 -*- '''1、读取指定目录下的所有文件2、读取指定文件,输出文件内容3、创建一个文件并保存到指定目录'''import os# 遍历指定目录,显示目录下的所有文件名def eachFile(filepath):pathDir = os.listdir(filepath)for allDir in pathDir:child = os.path.join('%s%s' % (filepath, allDir))print child.decode('gbk') # .decode('gbk')是解决中文显示乱码问题# 读取文件内容并打印def readFile(filename):fopen = open(filename, 'r') # r 代表readfor eachLine in fopen:print "读取到得内容如下:",eachLinefopen.close()# 输入多行文字,写入指定文件并保存到指定文件夹def writeFile(filename):fopen = open(filename, 'w')print "\r请任意输入多行文字"," ( 输入 .号回车保存)"while True:aLine = raw_input()if aLine != ".":fopen.write('%s%s' % (aLine, os.linesep))else:print "文件已保存!"breakfopen.close()if __name__ == '__main__':filePath = "D:\\FileDemo\\Java\\myJava.txt"filePathI = "D:\\FileDemo\\Python\\pt.py"filePathC = "C:\\"eachFile(filePathC)readFile(filePath)writeFile(filePathI)
工欲善其事
最近尝试了几个常见的Python IDE,发现Subline tx2对中文的支持不好, NotePad++ 代码自定义颜色不方便。
用来用去还是Eclipse最顺手,装上PyDev插件之后,编写Python代码很方便;
转载自:/article/358570f6b38ff4ce4724fcf5.html
/jackchiang/p/4605327.html