Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
LinuxAdminScripts
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PublicGroup
LinuxAdminScripts
Commits
657b74f2
Commit
657b74f2
authored
May 14, 2019
by
胡小根
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
coding
parent
a690295a
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
190 additions
and
15 deletions
+190
-15
mv_file.py
mv_file.py
+21
-15
mv_file_pattern.py
mv_file_pattern.py
+41
-0
mv_file_remain.py
mv_file_remain.py
+81
-0
mv_file_repeated.py
mv_file_repeated.py
+47
-0
No files found.
mv_file.py
View file @
657b74f2
# -*- coding: utf-8 -*-
import
codecs
import
io
import
os
import
re
import
sys
import
shutil
reload
(
sys
)
sys
.
setdefaultencoding
(
'utf-8'
)
sys
.
stdout
=
io
.
TextIOWrapper
(
sys
.
stdout
.
buffer
,
encoding
=
'utf-8'
)
def
get_related_imgs
(
src_dir
=
None
,
filename
=
None
):
...
...
@@ -17,17 +16,22 @@ def get_related_imgs(src_dir=None, filename=None):
:param filename:
:return:
"""
pattern
=
re
.
compile
(
r"(.*)(\.jpg|\.jpeg|\.JPEG|\.png|\.JPG|\.PNG)"
)
pattern
=
re
.
compile
(
r"(.*)(\.jpg|\.jpeg|\.JPEG|\.png|\.JPG|\.PNG
|\.tif|\.TIF|\.gif|\.GIF
)"
)
m
=
pattern
.
match
(
filename
)
if
len
(
m
.
groups
())
<
2
:
print
'not image file'
group_set
=
m
.
groups
()
if
len
(
group_set
)
<
2
:
print
(
filename
+
u'not image file'
)
imgs
=
[]
for
s
in
[
'45x45'
,
'100x100'
,
'150x150'
,
'300x215'
,
'300x300'
,
'400x400'
,
'550x500'
,
'600x429'
,
'700x340'
,
'768x550'
]:
new_file
=
m
.
group
()[
0
]
+
'-'
+
s
+
m
.
group
()[
1
]
for
s
in
[
'45x45'
,
'100x100'
,
'150x150'
,
'300x215'
,
'300x225'
,
'300x300'
,
'400x400'
,
'550x500'
,
'600x429'
,
'700x340'
,
'768x550'
,
'768x576'
]:
new_file
=
group_set
[
0
]
+
'-'
+
s
+
group_set
[
1
]
print
(
u"new_file: "
+
new_file
)
if
os
.
path
.
exists
(
src_dir
+
'/'
+
new_file
):
imgs
.
append
(
new_file
)
else
:
print
(
"file not exist"
)
return
imgs
...
...
@@ -43,18 +47,20 @@ def process(csv=None, src_dir=None, dst_dir=None):
count
=
0
for
line
in
f
:
filename
=
line
[
1
:
-
2
]
print
u"文件:
%
s"
%
filename
.
encode
(
'utf-8'
)
print
(
filename
)
if
os
.
path
.
exists
(
src_dir
+
'/'
+
filename
):
shutil
.
move
(
src_dir
+
'/'
+
filename
,
dst_dir
+
'/'
+
filename
)
count
+=
1
print
count
print
(
count
)
else
:
print
(
'file not exist'
)
files
=
get_related_imgs
(
src_dir
=
src_dir
,
filename
=
filename
)
for
file
in
files
:
print
(
file
)
count
+=
1
shutil
.
move
(
src_dir
+
'/'
+
file
,
dst_dir
+
'/'
+
file
)
else
:
print
'file not exist'
if
__name__
==
'__main__'
:
print
sys
.
argv
[
1
]
process
(
csv
=
sys
.
argv
[
1
],
src_dir
=
sys
.
argv
[
2
],
dst_dir
=
sys
.
argv
[
3
])
\ No newline at end of file
mv_file_pattern.py
0 → 100644
View file @
657b74f2
# -*- coding: utf-8 -*-
import
codecs
import
io
import
os
import
re
import
sys
import
shutil
sys
.
stdout
=
io
.
TextIOWrapper
(
sys
.
stdout
.
buffer
,
encoding
=
'utf-8'
)
def
process
(
src_dir
=
None
,
dst_dir
=
None
):
"""
根据csv文件清单,将一个目录中的文件移到另外一个目录中
:param csv:
:param src_dir:
:param dst_dir:
:return:
"""
count
=
0
for
f
in
os
.
listdir
(
src_dir
):
pattern
=
re
.
compile
(
r".*-\d{2,4}x\d{2,4}(\.jpg|\.jpeg|\.JPEG|\.png|\.JPG|\.PNG)"
)
m
=
pattern
.
match
(
f
)
if
not
m
:
continue
# print(f, m.string)
if
f
!=
m
.
string
:
continue
print
(
f
)
shutil
.
move
(
src_dir
+
'/'
+
f
,
dst_dir
+
'/'
+
f
)
count
+=
1
print
(
count
)
if
__name__
==
'__main__'
:
process
(
src_dir
=
sys
.
argv
[
1
],
dst_dir
=
sys
.
argv
[
2
])
\ No newline at end of file
mv_file_remain.py
0 → 100644
View file @
657b74f2
# -*- coding: utf-8 -*-
import
codecs
import
io
import
os
import
re
import
sys
import
shutil
sys
.
stdout
=
io
.
TextIOWrapper
(
sys
.
stdout
.
buffer
,
encoding
=
'utf-8'
)
def
get_related_imgs
(
src_dir
=
None
,
filename
=
None
):
"""
得到类似 xxxx-300x300.jpg这样的图片文件名
:param src_dir:
:param filename:
:return:
"""
pattern
=
re
.
compile
(
r"(.*)(\.jpg|\.jpeg|\.JPEG|\.png|\.JPG|\.PNG|\.tif|\.TIF|\.gif|\.GIF)"
)
m
=
pattern
.
match
(
filename
)
group_set
=
m
.
groups
()
if
len
(
group_set
)
<
2
:
print
(
filename
+
u'not image file'
)
imgs
=
[]
for
s
in
[
'45x45'
,
'100x100'
,
'150x150'
,
'300x215'
,
'300x225'
,
'300x300'
,
'400x400'
,
'550x500'
,
'600x429'
,
'700x340'
,
'768x550'
,
'768x576'
]:
new_file
=
group_set
[
0
]
+
'-'
+
s
+
group_set
[
1
]
print
(
u"new_file: "
+
new_file
)
if
os
.
path
.
exists
(
src_dir
+
'/'
+
new_file
):
imgs
.
append
(
new_file
)
else
:
print
(
"file not exist"
)
return
imgs
def
process
(
csv
=
None
,
src_dir
=
None
,
dst_dir
=
None
):
"""
将一个目录中的文件移到另外一个目录中(除csv中的外)
:param csv:
:param src_dir:
:param dst_dir:
:return:
"""
with
codecs
.
open
(
csv
,
'rb'
,
'utf-8'
)
as
f
:
count
=
0
src_file_count
=
0
remain_files
=
[]
for
line
in
f
:
filename
=
line
[
1
:
-
2
]
remain_files
.
append
(
filename
)
print
(
len
(
remain_files
))
for
f
in
os
.
listdir
(
src_dir
):
src_file_count
+=
1
print
(
u"list file: "
+
f
)
print
(
src_file_count
)
pattern
=
re
.
compile
(
r"(.*)(\.jpg|\.jpeg|\.JPEG|\.png|\.JPG|\.PNG|\.tif|\.TIF|\.gif|\.GIF)"
)
m
=
pattern
.
match
(
f
)
if
not
m
:
print
(
"m is None"
)
continue
group_set
=
m
.
groups
()
if
len
(
group_set
)
<
2
:
print
(
filename
+
u'not image file'
)
continue
print
(
f
not
in
remain_files
)
if
f
not
in
remain_files
:
print
(
f
)
shutil
.
move
(
src_dir
+
'/'
+
f
,
dst_dir
+
'/'
+
f
)
count
+=
1
print
(
count
)
if
__name__
==
'__main__'
:
process
(
csv
=
sys
.
argv
[
1
],
src_dir
=
sys
.
argv
[
2
],
dst_dir
=
sys
.
argv
[
3
])
\ No newline at end of file
mv_file_repeated.py
0 → 100644
View file @
657b74f2
# -*- coding: utf-8 -*-
import
codecs
import
io
import
os
import
re
import
sys
import
shutil
sys
.
stdout
=
io
.
TextIOWrapper
(
sys
.
stdout
.
buffer
,
encoding
=
'utf-8'
)
def
process
(
src_dir
=
None
,
dst_dir
=
None
):
"""
根据csv文件清单,将一个目录中的文件移到另外一个目录中
:param csv:
:param src_dir:
:param dst_dir:
:return:
"""
count
=
0
for
f
in
os
.
listdir
(
src_dir
):
pattern
=
re
.
compile
(
r"(.*)(-\d{1,2})(\.jpg|\.jpeg|\.JPEG|\.png|\.JPG|\.PNG)"
)
m
=
pattern
.
match
(
f
)
if
not
m
:
continue
# print(f, m.string)
if
f
!=
m
.
string
:
continue
group_set
=
m
.
groups
()
if
len
(
group_set
)
<
3
:
continue
print
(
f
)
if
os
.
path
.
exists
(
src_dir
+
'/'
+
group_set
[
0
]
+
group_set
[
2
]):
shutil
.
move
(
src_dir
+
'/'
+
f
,
dst_dir
+
'/'
+
f
)
count
+=
1
print
(
count
)
if
__name__
==
'__main__'
:
process
(
src_dir
=
sys
.
argv
[
1
],
dst_dir
=
sys
.
argv
[
2
])
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment