由于某些原因,有些文件以“。”开头。在第二个print()
调用中,即使它们应在for
循环
from os import *
cwd = getcwd()
cfiles = listdir(cwd)
print(str(cfiles) + "\n")
for files in cfiles:
if files[0] == ".":
cfiles.pop(cfiles.index(files))
else:
continue
print(cfiles)
答案 0 :(得分:1)
您不应该在for
循环中删除列表的元素。尝试类似的东西:
from os import *
cwd = getcwd()
cfiles = listdir(cwd)
print(str(cfiles) + "\n")
index = 0
while index < len(cfiles):
files = cfiles[index]
if files[0] == ".":
cfiles.pop(cfiles.index(files))
else:
index += 1
print(cfiles)
答案 1 :(得分:0)
尝试此版本。工作正常:
from os import *
cwd = getcwd()
cfiles = list()
for file in listdir(cwd):
if file[0] == ".":
continue
else:
cfiles.append(file)
print(cfiles)
但是很奇怪的是,列表cfile中的一些文件(在调试时为.gitignore和config.yml)在cfile中使用“ for..in”时被忽略了。
希望解决方案有帮助!