Tôi tương đối mới với python. Tôi đang cố gắng sao chép một thư mục vào một thư mục khác duy trì cấu trúc.Cách viết chức năng gọi lại để bỏ qua trong shutil.copytree
Tôi đang sử dụng
shutil.copytree(src, dst, symlinks=False, ignore=None,
copy_function=copy2, ignore_dangling_symlinks=False)
Tôi cố gắng để viết một cuộc gọi trở lại chức năng cho bỏ qua.
Mục tiêu của tôi là lấy danh sách tệp trong danh sách và chỉ sao chép những tệp đó, bỏ qua phần còn lại. Làm cách nào để chuyển danh sách vào chức năng gọi lại?
Tôi đã viết một chức năng gọi lại đơn giản, nhưng tôi nhận được một số lỗi khi tôi cố gắng để chạy các chức năng copyTree
def abc(src,names):
print(src)
print(names)
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
shutil.copytree('D:\Mytest','D:\PythonTestDest3',symlinks=False,ignore=abc)
File "C:\Python32\lib\shutil.py", line 204, in copytree
if name in ignored_names:
TypeError: argument of type 'NoneType' is not iterable
Bạn có nghĩa là 'return [f cho f trong các tập tin nếu không phải là is_dir (os.path.join (thư mục, f)) và f không trong copy_these]'. –
Hiểu danh sách tốt. Nhưng, vì người hỏi nói anh ta mới với Python, một phong cách tiết tú hơn có thể dễ hiểu và thích ứng hơn. – jwhitlock