import os
import sys
import cv2
import re
sys.path.append(os.getcwd())
# 获取指定路径下所有指定后缀的文件
# dir 指定路径
# ext 指定后缀,链表&不需要带点 或者不指定。例子:['xml', 'java']
def write_result(str):
txtPath=r'/home/zyg/Desktop/data/Test/sample.txt'
writeresult = open(txtPath, 'a+')
str1 = writeresult.write(str + '\n')
writeresult.close()
return str
def GetFileFromThisRootDir(dir,ext = None):
allfiles = []
needExtFilter = (ext != None)
for root,dirs,files in os.walk(dir):
for filespath in files:
filepath = os.path.join(root, filespath)
extension = os.path.splitext(filepath)[1][1:]
if needExtFilter and extension in ext:
allfiles.append(filepath)
elif not needExtFilter:
allfiles.append(filepath)
return allfiles
###---保存文件数据,按照顺序保存
def MoveFiles(files,PathTo):
for fl in files:
PathName,fileName=os.path.split(fl)
strPath=PathTo+fileName
split_str = re.split(r"[_]", fileName)
str=strPath+' '+split_str[-2]
write_result(str)
os.rename(fl, os.path.join(PathTo, fileName))
# splitext splitdrive
# if (count<SumFiles):
# print(fl)
# picname = str(count) + '.jpg'
#
# count = count + 1
def test():
str="192_168_1_1.jpg"
pattern=re.compile(r"hello")
# 使用re.match匹配文本,获得匹配结果,无法匹配时将返回None
split_str=re.split(r"[_.]",str)
print(split_str[-2])
print(split_str)
result1 = re.match(pattern, 'hello')
result2 = re.match(pattern, 'helloo CQC!')
result3 = re.match(pattern, 'helo CQC!')
result4 = re.match(pattern, 'hello CQC!')
# 如果1匹配成功
if result1:
# 使用Match获得分组信息
print (result1.group())
else:
print('1匹配失败!')
# 如果2匹配成功
if result2:
# 使用Match获得分组信息
print(result2.group())
else:
print ('2匹配失败!')
# 如果3匹配成功
if result3:
# 使用Match获得分组信息
print(result3.group())
else:
print('3匹配失败!')
# 如果4匹配成功
if result4:
# 使用Match获得分组信息
print (result4.group())
else:
print('4匹配失败!')
def readFile(fromTxt):
try:
f=open(fromTxt,encoding='utf-8')
data=f.readlines()
for line in data:
print(line.strip())
except:
print("file open error")
finally:
if f:
f.close()
if __name__ == '__main__':
pathTo = u"/home/zyg/Desktop/data/Test/"
pathForm = u"/home/zyg/Desktop/train_data/Test"
#dirs = os.listdir(path) # 获取指定路径下的文件
assert os.path.exists(pathTo)
files = GetFileFromThisRootDir(pathForm, ".jpg")
MoveFiles(files,pathTo)
test()