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/