擅长:python、mysql、java
<p>首先,您需要<a href="https://kite.com/python/docs/glob.glob" rel="nofollow noreferrer">glob.glob()</a>函数来查找给定目录中的所有文件:</p>
<pre><code>files = glob.glob('ARC*.jpg')
</code></pre>
<p>然后需要提取文件名的某些部分:</p>
^{pr2}$
<p>将<a href="https://kite.com/python/docs/os.makedirs" rel="nofollow noreferrer">os.makedirs()</a>与exist_ok=True一起使用并创建目录:</p>
<pre><code>os.makedirs(os.path.join(BASE_DIR, year, month))
</code></pre>
<p>然后使用<a href="https://kite.com/python/docs/shutil.move" rel="nofollow noreferrer">shutil.move</a>将文件移动到特定目录</p>
<pre><code>shutil.move(filename, os.path.join(BASE_DIR, year, month, filename))
</code></pre>
<p>最后你会得到这样的结果:</p>
<pre><code>import glob
import os.path
import shutil
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
files = glob.glob('ARC*.jpg')
for filename in files:
year = filename[3:7]
month = filename[7:9]
try:
os.makedirs(os.path.join(BASE_DIR, year, month))
except OSError:
pass
shutil.move(filename, os.path.join(BASE_DIR, year, month, filename))
</code></pre>