我正在编写一个 Python 脚本来查找并删除所有具有相应 .pyc 文件的 .py 文件。
如何提取此文件列表并将其删除?
例如:考虑在/foo/bar 中有一些文件:
file.py
file.pyc
file3.py
file2.py
file2.pyc...etc
我想删除 file.py、file2.py 而不是 file3.py,因为它没有相应的 .pyc 文件。
我想在“/”下的所有文件夹中执行此操作。
是否有相同的一行 bash 代码?
P.S : 我使用的是 CentOS 6.8,有 python2.7
这是我的解决方案:
import os
ab=[]
for roots,dirs,files in os.walk("/home/foo/bar/"):
for file in files:
if file.endswith(".py"):
ab.append(os.path.join(roots,file))
bc=[]
for i in range(len(ab)):
bc.append(ab[i]+"c")
xy=[]
for roots,dirs,files in os.walk("/home/foo/bar/"):
for file in files:
if file.endswith(".pyc"):
xy.append(os.path.join(roots,file))
ex=[x[:-1] for x in bc if x in xy]
for i in ex:
os.remove(i)
P.S:python 脚本新手。