Tôi có một chương trình đơn giản, tìm tất cả các thư mục nén trong thư mục, nhắm mục tiêu một tệp nén, nhận tệp excel nằm bên trong tệp nén và di chuyển nó đến vị trí khác (nó thực hiện điều này cho tất cả các file excel, cho bao nhiêu thư mục bao giờ nén):Lỗi 32, Python, tệp đang được sử dụng bởi một quy trình khác
path = 'C:\Users\me\Documents\Extract'
new_path = 'C:\Users\me\Documents\Test'
i = 0
for folder in os.listdir(path):
path_to_folder = os.path.join(path, folder)
zfile = zipfile.ZipFile(os.path.join(path, folder))
for name in zfile.namelist():
if name.endswith('.xls'):
new_name = str(i)+'_'+name
new_path = os.path.join(new_path, new_name)
zfile.close()
#os.rename(path_to_folde, new_path) -- ERROR HERE
shutil.move(path_to_folde, new_path) -- AND ERROR HERE
i += 1
tôi đã thử 2 cách để di chuyển file excel os.rename
và shutil.move
. Tôi tiếp tục gặp lỗi:
WindowsError: [Error 32] The process cannot access the file beacause it is being used by another process.
Tôi không hiểu tại sao lỗi này vẫn tiếp diễn vì tôi đã đóng mọi thư mục.
Tìm hiểu quy trình đang sử dụng quy trình. Bạn có mở nó trong Excel không? – Blender
Tôi khuyên bạn nên quấn phần thân của vòng lặp 'for' bên trong' try'/'except' - bạn sẽ muốn đóng' zfile' bất kể cái gì. (Tất nhiên tôi có thể hiểu sai về cách thư viện 'zipfile' hoạt động hay bản chất của' WindowsError'.) – 2rs2ts
@Blender Tôi không mở nó trong Excel, tôi đã đóng mọi chương trình trừ Python –