Python:编译、重命名&;移动

Python:编译、重命名&;移动,python,Python,好的,我有一个Python项目。我制作了一个批处理文件来编译所有.py文件。 在汇编之后,我想: 删除所有.py文件(编译后我不再需要它们) 找到所有.pyc文件并重命名它们(例如:game.cpython-36.pyc应重命名为game.pyc…因此我只想从所有.pyc文件名中删除“.cpython-36”部分,然后将它们上移一级(文件夹)(其中.py文件是初始文件) 查找编译后创建的所有pycache文件夹,这些文件夹现在应该是空的(因为我们已经在上面的步骤中移动了.pyc文件),然后删除

好的,我有一个Python项目。我制作了一个批处理文件来编译所有.py文件。 在汇编之后,我想:

  • 删除所有.py文件(编译后我不再需要它们)

  • 找到所有.pyc文件并重命名它们(例如:game.cpython-36.pyc应重命名为game.pyc…因此我只想从所有.pyc文件名中删除“.cpython-36”部分,然后将它们上移一级(文件夹)(其中.py文件是初始文件)

  • 查找编译后创建的所有pycache文件夹,这些文件夹现在应该是空的(因为我们已经在上面的步骤中移动了.pyc文件),然后删除它们

我已经编译了.py文件(
python-m compileall-f C:\Pejo\
),但是我该如何完成其余的任务呢

我认为应该是这样的:

for /R C:\Pejo\ %%G in (*.py *.pyc) do (...)
但我不知道如何继续。

-p>-删除所有.py文件(编译后我不再需要它们)

找到所有.pyc文件并重命名它们(例如:game.cpython-36.pyc应重命名为game.pyc

查找编译后创建的所有pycache文件夹


谢谢…您的解决方案看起来不错:)但我需要一个批处理脚本文件:(
import os
import shutils

for file in os.listdir('path-to-files'):
    if file.endswith('.py'):
        os.remove(os.path.join('path-to-file', file)
for file in os.listdir('path-to-files'):
    if file.endswith('.pyc'):
        newName = file.split(".")[0] +'.' + file.split(".")[-1]
        os.rename(os.path.join('path-to-file', file),os.path.join('path-to-file', newName)
        shutils.move(os.path.join('path-to-file', newName),os.path.join('../', 'path_to_file'))
for folders in os.listdir('path-to-folders'):
    if folders.startswith('pycache'):
        os.rmdir(os.path.join('path-to-file', folder)