擅长:python、mysql、java
<p>您可以在重命名之前检查文件名是否有.txt</p>
<pre class="lang-py prettyprint-override"><code>if filename.endswith(".txt"):
os.rename(my_source, my_dest)
i += 1
</code></pre>
<p>在文件名上,您尚未指定名称的顺序。您可以使用<code>for filename in sorted(os.listdir(path)):</code>按字母顺序移动</p>
<p>我的解决办法是:</p>
<pre class="lang-py prettyprint-override"><code>import os
import glob
def main():
path = "C:/Users/user/Desktop/My Folder/New folder/New folder/"
suffix = '.txt'
files = glob.glob(path + '*' + suffix)
for idx, filename in enumerate(sorted(files)):
os.rename(
filename,
os.path.join(path, f"({1000 + idx})" + suffix)
)
if __name__=="__main__":
main()
</code></pre>
<p>这将使用<code>glob</code>获取文件夹中带有<code>.txt</code>后缀的所有文件路径。它还使用<code>enumerate</code>对每个文件进行计数,而不必自己对<code>i</code>值进行计数。文件名是使用<a href="https://realpython.com/python-f-strings/#f-strings-a-new-and-improved-way-to-format-strings-in-python" rel="nofollow noreferrer">f-string</a>生成的</p>