Tôi có một vài chủ đề mà mỗi thư mục đang thay đổi thư mục làm việc và đôi khi tạo các thư mục mới trong các thư mục làm việc cụ thể, sao chép/di chuyển các tệp vv trong các thư mục này. Hãy suy nghĩ ví dụ:Một os.chdir và mkdir cụ thể theo chủ đề trong python là gì?
def thread1:
while True:
os.chdir('dir')
os.mkdir('newdir')
os.system('mv *.png newdir/')
do something
def thread2:
while True:
os.chdir('another-dir')
os.mkdir('another-newdir')
os.system('mv *.png another-newdir/')
do something
Tôi đã đọc hàm chdir, mkdir không dành riêng cho chuỗi nhưng toàn cục. Một cách để thực hiện điều này là gì? Tôi có thể thử sử dụng đường dẫn tuyệt đối nhưng đó có phải là giải pháp tốt nhất không?
Cách nhanh chóng để giải quyết nó là không bao giờ gọi '' os.chdir() ''. Trong trường hợp của bạn, nó sẽ trở thành '' os.mkdir ('dir/newdir'); os.system ('cd dir && mv * .png newdir /') ''. Lưu ý rằng '' cd'' nằm trong lệnh shell. –
Một giải pháp khác - chỉ trên Linux-- là sử dụng chức năng 'unshare (CLONE_FS)', nhưng điều đó chắc chắn yêu cầu viết C hoặc sử dụng ctypes/cffi. –