OK,所以我有一个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 (...)


但我不知道如何继续。

最佳答案

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


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)



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


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'))



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


for folders in os.listdir('path-to-folders'):
    if folders.startswith('pycache'):
        os.rmdir(os.path.join('path-to-file', folder)

关于python - Python:编译,重命名和移动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52215951/

10-11 19:30