一、文件遍历
import os
fileDir="D:" + os.sep + "data2"
for root, dirs, files in os.walk(fileDir):
for dir in dirs:
print(os.path.join(root,dir))
for file in files:
print(os.path.join(root,file)) #文件路径
name,suffix = os.path.splitext(file) #文件名、后缀名
注: for root, dirs, files in os.walk(fileDir):
print(root) #当前目录路径
print(dirs) #当前路径下所有子目录
print(files) #当前路径下所有非目录子文件
二、文件按行读取,并读取每行的每个元素
import os
(注:如果是读取遍历的文件:f = open(os.path.join(root,file),"r")
controlFile=open("D:\\DEM2\\control.txt","r") #调用python的open()函数打开要读取的文件
lstcon=controlFile.readlines() #读取文件中的内容并写入到列表
for point in lstcon: #添加一个for 循环语句来迭代遍历lstFires变量中的所有行
lstvalue=point.split(",") #调用split()函数并使用逗号作为分隔符,将分离后的值保存到列表中,然后赋值给变量lstValues
ID=int(lstvalue[0]) #使用索引值来获取
x=float(lstvalue[1])
y=float(lstvalue[2])
z=float(lstvalue[3])
controlFile.close()
三、文件删除
os.remove(path)
四、计算文件大小
size=os.path.getsize(os.path.join(root,file))
size1=(size+1024)/1024.0/1024.0 #size单位为比特,化为M
五、中文输出
import sys
print"序号","数据项名称","数据内容"
print"序号,数据项名称,数据内容"
type = sys.getfilesystemencoding() #python编码转换到系统编码输出
print type
六、进行行筛选
#筛选地理基准影像上的匹配点数,每张像片取100个
p2_fr=open("E:\\test\\sift\\dom\\tfw\\2DSC00261XYZ.txt","r")
p2_fw=open("E:\\test\\sift\\dom\\tfw\\2DSC00261XYZ1.txt","w")
p2_num=len(open("E:\\test\\sift\\dom\\tfw\\2DSC00261XYZ.txt").readlines())
p2_num_hang=p2_num/100
for frp2 inp2_fr.readlines()[0:p2_num:p2_num_hang]:#输出文件中间隔一定数量的行#开始,结尾,间隔
p2_fw.write(str(frp2))
p2_fw.close()
p2_fr.close()
七、对文件进行切片
import re;
p=re.compile('\n\n',re.S);
fileContent=open('files/办公室.txt','r',encoding='utf8').read();#读文件内容
paraList=p.split(fileContent)#根据换行符对文本进行切片
fileWriter=open('files/0.txt','a',encoding='utf8');#创建一个写文件的句柄
for paraIndexin range(len(paraList)):#遍历切片后的文本列表
fileWriter.write(paraList[paraIndex]);#先将列表中第一个元素写入文件中
if((paraIndex+1)%3==0):#判断是否写够3个切片,如果已经够了
fileWriter.close(); #关闭当前句柄
fileWriter=open('files/'+str((paraIndex+1)/3)+'.txt','a',encoding='utf8');#重新创建一个新的句柄,等待写入下一个切片元素。注意这里文件名的处理技巧。
fileWriter.close();#关闭最后创建的那个写文件句柄
print('finished');八、获得上一级目录
1. parent_path = os.path.dirname(d) #获得d所在的目录,即d的父级目录
2. parent_path = os.path.dirname(parent_path) ##获得parent_path所在的目录即parent_path的父级目录