Tôi đang viết một tập lệnh Python đơn giản để đổi tên tất cả các tệp trong một thư mục để thay thế tất cả dấu cách trong tên tệp bằng dấu gạch nối. Tôi có những điều sau đây mà bị rơi trên os.renameĐổi tên tên tệp có chứa dấu cách
import os
path = os.getcwd()
filenames = os.listdir(path)
for filename in filenames:
os.rename(os.path.join(path + filename), os.path.join(path + filename.replace(" ", "-")))
Cung cấp cho các lỗi trong giao diện điều khiển:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
OSError: [Errno 2] No such file or directory
Bất kỳ ý tưởng về lý do tại sao điều này xảy ra?
+1 Lỗi thực tế là bạn không chuyển một danh sách các đối số đến 'os.path.join' - bạn nối một chuỗi ký tự bằng dấu +, thay vì đi qua dấu phẩy -nhập danh sách - nhưng vì điều này là thừa, chỉ cần lấy nó ra. – tripleee