2011-11-16 39 views
9

Tôi đang cố đổi tên tất cả các ảnh trong một thư mục. Tôi cần phải thêm một vài số không trước đang chờ xử lý vào tên tệp. Tôi mới sử dụng Python và tôi đã viết kịch bản sau.Không thể giải quyết WindowsError: [Lỗi 2] Hệ thống không thể tìm thấy tệp được chỉ định

import os 

path = "c:\\tmp" 
dirList = os.listdir(path) 

for fname in dirList: 
    fileName = os.path.splitext(fname)[0] 
    fileName = "00" + fname 
    os.rename(fname, fileName) 
    #print(fileName) 

Dòng in nhận xét chỉ để xác minh tôi đã đi đúng hướng. Khi tôi chạy điều này tôi nhận được lỗi sau và tôi đang thua lỗ làm thế nào để giải quyết nó.

Traceback (most recent call last): File "C:\Python32\Code\add_zeros_to_std_imgs.py", line 15, in os.rename(fname, fileName) WindowsError: [Error 2] The system cannot find the file specified

Bất kỳ trợ giúp nào được đánh giá cao. Thnx.

Trả lời

15

Bạn nên chuyển đường dẫn tuyệt đối đến os.rename. Ngay bây giờ bạn chỉ đi qua tên tệp của chính nó. Nó không phải là tìm đúng chỗ. Sử dụng os.path.join.

Hãy thử điều này:

import os 

path = "c:\\tmp" 
dirList = os.listdir(path) 

for fname in dirList: 
    fileName = os.path.splitext(fname)[0] 
    fileName = "00" + fname 
    os.rename(os.path.join(path, fname), os.path.join(path, fileName)) 
    #print(fileName) 
Các vấn đề liên quan