Python:编译、重命名和m

2024-06-16 10:40:09 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我有一个用Python编写的项目。我制作了一个批处理文件来编译所有.py文件。 编辑完成后,我想:

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

  • 找到所有.pyc文件并重命名它们(例如:游戏.cpython-36.pyc应重命名为游戏.pyc…所以我只想从所有.pyc文件名中删除“.cpython-36”部分,然后将它们向上移动一个级别(文件夹)(.py文件所在的位置)首字母);

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

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

我认为应该是这样的:

for /R C:\Pejo\ %%G in (*.py *.pyc) do (...)

但我不知道该怎么继续。在


Tags: 文件项目py文件夹游戏编辑文件名cpython
1条回答
网友
1楼 · 发布于 2024-06-16 10:40:09

-删除所有.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文件并重命名它们(例如:游戏.cpython-36.pyc应重命名为游戏.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)

相关问题 更多 >