Tôi đang viết một kịch bản để dọn sạch máy tính để bàn, di chuyển các tệp dựa trên loại tệp. Bước đầu tiên, có vẻ như, là ls -1 /Users/user/Desktop
(Tôi đang sử dụng Mac OSX). Vì vậy, bằng cách sử dụng Python, làm thế nào tôi sẽ chạy một lệnh, sau đó viết đầu ra cho một tập tin trong một thư mục cụ thể? Vì điều này sẽ không có giấy tờ, và tôi sẽ là người dùng duy nhất, tôi không quan tâm (thích?) Nếu nó sử dụng os.system()
.viết dòng lệnh đầu ra vào tập tin
Trả lời
Bạn có thể chuyển hướng đầu ra tiêu chuẩn sang bất kỳ tệp nào bằng cách sử dụng >
trong lệnh.
$ ls /Users/user/Desktop > out.txt
Sử dụng python,
os.system('ls /Users/user/Desktop > out.txt')
Tuy nhiên, nếu bạn đang sử dụng python sau đó thay vì sử dụng ls
lệnh bạn có thể sử dụng os.listdir
để liệt kê tất cả các tập tin trong thư mục.
path = '/Users/user/Desktop'
files = os.listdir(path)
print files
Sau khi lướt các tài liệu python để chạy lệnh shell và có được đầu ra bạn có thể sử dụng các mô-đun subprocess với phương pháp check_output
.
Sau đó bạn có thể viết đơn giản rằng đầu ra cho một tệp với các hàm IO chuẩn của Python: File IO in python.
Để mở tệp, bạn có thể sử dụng lệnh f = open(/Path/To/File)
. Cú pháp là f = open('/Path/To/File', 'type')
trong đó 'type' là r để đọc, w để viết và một để thêm. Các lệnh để thực hiện điều này là f.read()
và f.write('content_to_write')
. Để có được kết quả từ một lệnh dòng lệnh, bạn phải sử dụng popen và subprocess thay vì os.system()
. os.system() không trả về một giá trị. Bạn có thể đọc thêm trên popen here.
- 1. Dòng lệnh Python 'dòng đầu vào tập tin'
- 2. Làm thế nào để viết đầu ra tập lệnh vào tệp và dòng lệnh?
- 3. Tạo và viết các dòng vào một tập tin
- 4. CONCATENATE đầu ra của hai lệnh vào một dòng
- 5. Cách chuyển hướng đầu ra của lệnh shell vào đầu vào tập lệnh Python?
- 6. Viết đầu ra vào một tập tin văn bản trong PowerShell
- 7. Python Viết byte vào tập tin
- 8. Viết tập tin từ dòng nguồn lắp ráp vào đĩa
- 9. Viết dòng vào một tập tin bằng C
- 10. Groovy viết ra danh sách vào một tập tin
- 11. Viết chuỗi vào luồng đầu ra
- 12. Execute dòng lệnh và gửi lại lệnh đầu ra
- 13. Viết vào tập tin (Prolog)
- 14. Viết xmlwriter vào tập tin
- 15. Nối ngắt dòng vào tệp đầu ra trong tập lệnh shell
- 16. Cách đưa đầu vào tương tác vào tập lệnh được chạy từ dòng lệnh
- 17. Viết TẤT CẢ chương trình đầu ra vào một tập tin txt trong C++
- 18. Làm thế nào để viết lại đầu ra Seq cho vòng lặp vào đầu ra Dòng?
- 19. Truyền đầu ra vào một tập tin và trình duyệt
- 20. Ghi lại đầu ra JSP, lưu vào tập tin
- 21. đầu ra của tập lệnh shell vào clipboard
- 22. Nodejs viết json vào một tập tin
- 23. python, viết Json vào tập tin
- 24. gửi nhiều tập tin từ tập lệnh shell qua đầu vào tiêu chuẩn
- 25. Viết một mảng NSData vào tập tin
- 26. Làm cách nào để viết tập lệnh sed vào thông tin grep từ tệp văn bản
- 27. C Xóa dòng đầu tiên khỏi tập tin văn bản mà không cần viết lại tập tin
- 28. đầu ra lệnh chuyển hướng đến tập tin và thiết bị đầu cuối
- 29. Viết nhật ký vào tập tin
- 30. đầu vào biến dòng lệnh rspec
Bạn muốn di chuyển tệp nào? Hãy xem http://docs.python.org/library/shutil.html để biết các thao tác tệp bằng cách sử dụng Python. –
Kịch bản lệnh Shell là đủ cho –
Nếu bạn sử dụng tập lệnh shell, hãy đọc thêm về đường ống và chuyển hướng. –