#! /usr/bin/env python # -*- coding: utf-8 -*- import sys import os import codecs #设置相对路径 def homeDir(): path = sys.path[0] if os.path.isdir(path): return path elif os.path.isfile(path): return os.path.dirname(path) if __name__=='__main__': filename = homeDir()+'/datalist.txt' f = open(filename,'r') file_uuid=homeDir()+'/uuid_path.txt' f_uuid= open(file_uuid,'r') file_dataset=homeDir()+'/dataset.txt' f_dataset=open(file_dataset,'w') uuid_list=[] #从uuid-path文件中提取的uuid列表 ftp_list=[] #从uuid-path文件中提取的ftp虚拟目录列表 file_path=[] #与uuid-pathftp虚拟目录对应的物理地址目录列表 ftp_list2=[] #从datalist文件中提取的ftp虚拟目录列表 file_path2=[] #从datalist文件中提取的物理地址列表 ##从uuid-path文件中提取uuid和ftp虚拟目录,并标准化 for my_line in f_uuid: my_line=my_line.replace('"','') my_line=my_line.replace('\n','') my_line=my_line.split(';') uuid_list.append(my_line[0]) ftp_str1=my_line[1]+'|' ftp_str1=ftp_str1.replace('/|','/') ftp_str1=ftp_str1.replace('|','/') ftp_list.append(ftp_str1) ##从datalist文件中提取ftp虚拟目录和物理地址,并标准化 for line in f: path= line.split(',') ftp_str='ftp://ftp.westgis.ac.cn'+path[0]+'|' ftp_str=ftp_str.replace('/|','/') ftp_str=ftp_str.replace('|','/') ftp_list2.append(ftp_str) file_path2.append(path[1]) #根据uuid-path提供的ftp虚拟目录,求序列出对应的物理地址目录 for index in range(len(uuid_list)): file_temp='a' ftp_path=ftp_list[index] for i in range(len(ftp_list2)): if ftp_path==ftp_list2[i]: file_temp=file_path2[i] file_path.append(file_temp) ##输出文件 for k in range(len(uuid_list)): #输出dataset.txt文件 uuid=uuid_list[k] f_dataset.write(ftp_list[k].replace('ftp://ftp.westgis.ac.cn','')+'\n') f_dataset.write(uuid_list[k]+'\n') path_temp=file_path[k] path_temp=unicode(path_temp,'utf8') #输出uuid.txt文件 temp_file=homeDir()+'/data/'+uuid+'.txt' if os.path.isfile(temp_file): f_temp=codecs.open(temp_file,'w+','utf-8') else: f_temp=codecs.open(temp_file,'w','utf-8') if path_temp<>'a': result=os.walk(path_temp) for root_dir,sub_dir,base_file in result: root_str=str(sum([os.path.getsize(root_dir+'\\'+filename) for filename in base_file]))+'\t'+root_dir root_str=root_str.replace(path_temp,ftp_list[k].replace('ftp://ftp.westgis.ac.cn','')) root_str=root_str.replace('\\','/') f_temp.write(root_str.replace('//','/')+'\n') f_temp.write('directory\n') for base_name in base_file: file_str=str(os.path.getsize(root_dir+'\\'+base_name))+'\t'+root_dir+'/'+base_name file_str=file_str.replace(path_temp,ftp_list[k].replace('ftp://ftp.westgis.ac.cn','')) file_str=file_str.replace('\\','/') f_temp.write(file_str.replace('//','/')+'\n') f_temp.write('file\n') f_temp.close() f.close() f_uuid.close() f_dataset.close() print '===end====='