Tôi có một thư mục chứa đầy đủ các tệp, một số tệp có ký hiệu và tên của chúng. Tôi muốn đổi tên tất cả các tệp bằng ký hiệu và thay thế từng ký hiệu bằng dấu cộng (+). Tôi đang làm việc với khoảng 10k tệp. Điều gì sẽ là phương pháp tốt nhất để làm điều này?Đổi tên tệp, Python/Jython
Trả lời
import glob, os
for filename in glob.glob(os.path.join(yourPath, "*&*")):
os.rename(filename, filename.replace('&','+'))
iglob sẽ phù hợp hơn ở đây – SilentGhost
Tự do thay đổi chuỗi nối vào một cuộc gọi os.path.join(), để rõ ràng và tính di động. – unwind
@SilentGhost - điểm tốt, được cập nhật. @unwind - đúng, tôi đoán là UNIX là trung tâm. – vartec
import os
directory = '.'
for file in os.listdir(directory):
if '&' in file :
os.rename(file, file.replace('&', '+'))
Thay directory
với con đường riêng của mình.
Nếu bạn có thư mục con:
import os
for dirpath, dirs, files in os.walk(your_path):
for filename in files:
if '&' in filename:
os.rename(
os.path.join(dirpath, filename),
os.path.join(dirpath, filename.replace('&', '+'))
)
Điểm trong việc hiểu danh sách trong trường hợp này là gì? Một vòng lặp đơn giản sẽ đủ. – jfs
Có phải có điểm không? Tôi cũng có thể sử dụng một vòng lặp ở đây, nhưng cú pháp nếu sau đó có vẻ đẹp hơn một chút, bạn có nghĩ vậy không? –
Danh sách 10K không có lý do chính là điểm. Định dạng như vậy có thể dẫn đến lỗi, ví dụ: xem dấu phẩy gần ''+')),'. – jfs
sử dụng rename:
$ rename --find '&' --replace '+' *
- 1. Đổi tên tệp PHP
- 2. Git: Đổi tên tệp
- 3. Chuyển đổi tên tệp classpath thành tên tệp thực
- 4. Sửa đổi cách CompositeRollingAppender đổi tên tệp
- 5. Đổi tên tệp trong Perforce?
- 6. TimedRotatingFileHandler Thay đổi tên tệp?
- 7. Đổi tên tệp trong IsolatedStorage
- 8. Hadoop trong đổi tên tệp
- 9. Đổi tên tệp trong NERDTREE
- 10. Đổi tên tệp bằng Git
- 11. android, Cách đổi tên tệp?
- 12. Đổi tên tên tệp có chứa dấu cách
- 13. Đổi tên tên tệp cơ sở trong Qt
- 14. Đệ quy đổi tên tệp trong Powershell
- 15. Đổi tên các tệp CarrierWave hiện có
- 16. Đổi tên tệp đệ quy Mac OSX
- 17. Cách đổi tên tệp bằng Python
- 18. Sao chép và Đổi tên Tệp VBScript
- 19. Đổi tên tệp trong thư mục C#
- 20. Đổi tên tệp trong bộ nhớ trong
- 21. Đổi tên tệp hàng loạt bằng Bash
- 22. Đổi tên tệp trong thư mục con
- 23. Cách đổi tên tệp bằng NSFileManager
- 24. Đổi tên khi sao chép tệp
- 25. Đổi tên tệp thành thùng rác
- 26. Tệp đổi tên Javascript khi tải xuống
- 27. Đổi tên tệp mà không sử dụng đổi tênTo() - Java
- 28. Xung đột Git (đổi tên/đổi tên)
- 29. Github API ... Lấy tên tệp nguồn trên tệp được di chuyển/đổi tên
- 30. Việc đổi tên tệp có thay đổi CRC của tệp không?
Có một thư mục phẳng của 10K file, hoặc một cây thư mục với thư mục con? –