代码:
from os import system, mkdir, listdir
from os.path import isdir
dirr = __file__[0:__file__.find('pyversave.py')]
files = listdir(dirr)
for i in files:
if 'versave' in i:
files.pop(files.index(i))
elif isdir(i):
files.pop(files.index(i))
print('directory:', dirr)
print('files detected:', files)
结论:
directory: C:\Users\Admin\Desktop\EduCet\
files detected: ['api.py', 'db.db', 'db.py', 'main.py', 'pyversave.py', 'venv', 'views.py', 'web.db', 'web.py', '__pycache__']
为什么文件pyversave.py和目录没有被删除venv, __pycache__
列表应该只包含名称不包含versave的文件
目录中的所有文件夹和文件:
'api.py', 'api.py-versave', 'db.db', 'db.db-versave', 'db.py', 'db.py-versave', 'main.py', 'main.py-versave', 'pyversave.py', 'pyversave.py-versave', 'venv', 'versions', 'views.py', 'views.py-versave', 'web.db', 'web.db-versave', 'web.py', 'web.py-versave'
另外,为什么versions文件夹不在列表中,但__pycache__它们venv却在那里,即使它们不应该都是文件夹?
解决方案是重复代码(我不知道为什么,但是第一次这些值根本不落入for中)