我听说python可以使生活更轻松,我想通过将folderB与folderA进行比较来删除folderA中的重复项,因此我决定下载python并尝试使用python进行编码。我的代码似乎正确,但是,我的文件无法删除,这是怎么回事?
我尝试取消链接,但不起作用。
import os
with open(r"C:\pathto\output.txt", "w") as a:
for path, subdirs, files in os.walk(r'C:\pathto\directoryb'):
for filename in files:
#f = os.path.join(path, filename)
#a.write(str(f) + os.linesep)
a.write(str(filename) + '\n')
textFile = open(r'C:\output.txt', 'r')
line = textFile.readline()
while line:
target = str(line)
todelete = 'C:\directorya' + target
if (os.path.exists(todelete)):
os.remove(todelete)
else:
print("failed")
line = textFile.readline()
textFile.close()
我想删除我的文件,基本上folderA在folderB中包含一些文件,而我正试图将其删除。
答案 0 :(得分:0)
问题在于,您要删除文件的地方实际上并不是在删除文件,而是在删除包含文件信息的变量。
todelete = 'C:\directorya' + target
if (os.path.exists(todelete)):
os.remove(todelete) # this is deleting todelete, but doesn't get rid of the file!
在我刚开始的程序中有一个类似的问题,但是有一个列表,最后我不得不使用这种格式:
lst.remove(lst[val1][val2][val3]) # as opposed to something cleaner-looking, like 'lst.remove(var_to_del)'
这很痛苦,但我希望这可以解决这个问题!您必须在不给其变量名的情况下转到文件。