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