Chúng ta có thể ghi trực tiếp vào tệp bằng hàm tích hợp write[] mà chúng ta đã học trong hướng dẫn xử lý tệp của mình
with open['output.txt', 'a'] as f: f.write['Hi'] f.write['Hello from AskPython'] f.write['exit']
Đầu ra [Giả sử rằng
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit6 là một tệp mới được tạo]
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
Phương pháp 2. Chuyển hướng hệ thống. thiết bị xuất chuẩn vào tập tin
Thông thường, khi chúng ta sử dụng chức năng in, đầu ra sẽ được hiển thị trên bàn điều khiển
Tuy nhiên, vì luồng đầu ra tiêu chuẩn cũng là một trình xử lý đối với một đối tượng tệp, nên chúng ta có thể định tuyến đầu ra tiêu chuẩn
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit7 để trỏ đến tệp đích thay thế
Đoạn mã dưới đây được lấy từ bài viết trước của chúng tôi về stdin, stdout và stderr. Điều này chuyển hướng
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit8 đến tệp
import sys # Save the current stdout so that we can revert sys.stdou after we complete # our redirection stdout_fileno = sys.stdout sample_input = ['Hi', 'Hello from AskPython', 'exit'] # Redirect sys.stdout to the file sys.stdout = open['output.txt', 'w'] for ip in sample_input: # Prints to the redirected stdout [Output.txt] sys.stdout.write[ip + '\n'] # Prints to the actual saved stdout handler stdout_fileno.write[ip + '\n'] # Close the file sys.stdout.close[] # Restore sys.stdout to our old saved file handler sys.stdout = stdout_fileno
Đầu ra [Giả sử rằng
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit6 là một tệp mới được tạo]
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
Phương pháp 3. In rõ ràng vào tập tin
Chúng tôi có thể chỉ định trực tiếp tệp sẽ được in trong lệnh gọi tới
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit8, bằng cách đề cập đến đối số từ khóa tệp
Ví dụ: đoạn mã dưới đây in ra tệp
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit6
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]
Tệp hiện có ba dòng được nối vào và chúng tôi đã in thành công tới
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit6
Sử dụng trình quản lý ngữ cảnh
Tuy nhiên, phương pháp này không phải là cách tốt nhất để giải quyết tình huống này, do các lệnh gọi lặp lại tới
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit4 trên cùng một tệp. Điều này lãng phí thời gian, và chúng ta có thể làm tốt hơn
Cách tốt hơn là sử dụng rõ ràng câu lệnh
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit5 của trình quản lý ngữ cảnh, đảm nhiệm việc tự động đóng tệp và sử dụng trực tiếp đối tượng tệp
with open["output.txt", "a"] as f: print['Hi', file=f] print['Hello from AskPython', file=f] print['exit', file=f]
Điều này cho kết quả tương tự như trước đây, nối thêm ba dòng vào
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit6, nhưng bây giờ nhanh hơn nhiều vì chúng tôi không mở đi mở lại cùng một tệp
Phương pháp 4. Sử dụng mô-đun ghi nhật ký
Chúng ta có thể sử dụng mô-đun ghi nhật ký của Python để in ra tệp. Điều này được ưu tiên hơn Phương pháp 2, trong đó việc thay đổi rõ ràng các luồng tệp không phải là giải pháp tối ưu nhất
________số 8
Theo mặc định, điều này sẽ nối ba dòng vào
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit6. Do đó, chúng tôi đã in tệp bằng cách sử dụng
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit8, đây là một trong những cách được đề xuất để in tệp
Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để in một bản chính tả [từ điển] đẹp mắt. Bạn sẽ học cách sử dụng thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]5 cũng như thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]6 để thực hiện việc này. Bạn cũng sẽ học cách in đẹp các từ điển lồng nhau trong Python. Cuối cùng, bạn sẽ học cách lưu một lệnh in đẹp trong Python vào một tệp
Từ điển là thành phần chính để làm việc với dữ liệu trong Python, bao gồm cả dữ liệu được tải từ internet. Nhiều API trả về dữ liệu ở định dạng JSON, rất giống với định dạng của từ điển Python. Từ điển cung cấp những cách cực kỳ hữu ích để bạn có thể lưu trữ và truy xuất dữ liệu. Tuy nhiên, chúng có thể hơi khó đọc. Do đó, việc có thể in từ điển của bạn ở định dạng dễ đọc hơn thường rất hữu ích. Không chần chừ thêm nữa, hãy xem bạn sẽ học được những gì
Câu trả lời nhanh. Sử dụng thư viện json
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit 0Chúng tôi có thể truy xuất một giá trị nếu chúng tôi biết khóa của từ điển. Ví dụ: nếu chúng tôi muốn truy xuất giá trị cho ______48, chúng tôi chỉ cần viết.
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]9, sẽ trả về _
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit10
Bây giờ chúng ta đã hiểu từ điển Python là gì, hãy xem cách in chúng đẹp
Cần kiểm tra xem một khóa có tồn tại trong từ điển Python không?
In đẹp một Dict bằng Python với pprint
Python đi kèm với một thư viện tích hợp có tên
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]5, viết tắt của từ pretty-print. Sử dụng thư viện này, chúng tôi có thể in ra các cấu trúc dữ liệu được định dạng độc đáo hơn, bao gồm cả từ điển
Thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]5 cho phép chúng tôi chỉ định một số tham số khác nhau, bao gồm các tham số sau
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
13. số khoảng trắng để thụt lề từng dòng, trong đó giá trị mặc định là[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
14[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
15. số ký tự tối đa được phép trên một dòng, trong đó giá trị mặc định là ________ 116 [có nghĩa là số ký tự tối đa][email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
17. số cấp độ sẽ hiển thị khi sử dụng các loại dữ liệu lồng nhau, trong đó giá trị mặc định là[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
16 [có nghĩa là tất cả các cấp độ sâu đều được hiển thị][email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
19. được sử dụng để chỉ định luồng đầu ra và có thể được sử dụng để lưu vào tệp[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
90. Nếu được đặt thành[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
91, các giá trị sẽ được in trên một dòng, ở một độ rộng nhất định[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
92. nếu[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
91, nó sẽ in các cặp khóa-giá trị theo thứ tự bảng chữ cái của các khóa. Mặc định là[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
91
Hãy tải một từ điển và xem cách chúng ta có thể in nó đẹp bằng Python
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit1
Trong phần tiếp theo, bạn sẽ học cách sử dụng thư viện JSON để in đẹp một lệnh Python
Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python? . Thêm một người học trực quan, hãy xem hướng dẫn YouTube của tôi tại đây
In đẹp một Dict bằng Python với JSON
Như đã đề cập trước đó, từ điển Python mang rất nhiều đặc điểm tương tự với các đối tượng JSON. Do đó, chúng ta có thể sử dụng thư viện JSON để trả về một chuỗi JSON được định dạng
Được tích hợp trong thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]6 là một hàm có tên là
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit96, dùng để kết xuất một đối tượng chuỗi. Chúng ta hãy xem hàm
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit96 trông như thế nào và nó nhận các tham số nào
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
98 sắp xếp các khóa của từ điển và mặc định là[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
99[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit
13. cho phép Python biết có bao nhiêu khoảng trắng để thụt lề theo cấp độ
Hãy sử dụng cùng một từ điển như trên và in đẹp bằng thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]6 của Python
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit9
Chúng ta có thể thấy ở đây điều này trả về một từ điển được in rất giống nhau, với một điểm khác biệt chính. danh sách cũng được in trên các dòng riêng biệt, giúp dễ đọc hơn. Tất nhiên, đây là một cách hay hơn nhiều để in từ điển của bạn
Trong phần tiếp theo, bạn sẽ học cách in đẹp từ điển lồng nhau trong Python
Bạn muốn tìm hiểu cách in đẹp tệp JSON bằng Python?
In đẹp một từ điển lồng nhau trong Python
Trong nhiều trường hợp, từ điển của bạn sẽ phức tạp. Bạn thậm chí có thể gặp các từ điển có chứa các từ điển khác. Ví dụ: bạn có thể có một từ điển chứa thông tin về những người khác nhau. Mỗi khóa của từ điển cấp cao nhất sẽ đại diện cho tên của một người và giá trị sẽ là một từ điển khác sẽ mô tả các thuộc tính chính của một người
Do sự phức tạp của các từ điển mà bạn có thể gặp phải, để hiểu rõ hơn về cấu trúc của chúng, bạn có thể muốn in chúng ra theo cách mô tả cấu trúc của chúng một cách thích hợp hơn
Sử dụng thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]6, điều này thực sự rất dễ dàng. Nó thực sự hoạt động giống như cách in một cuốn từ điển bình thường. Hãy cùng xem
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit1
Trong phần tiếp theo, bạn sẽ học cách lưu một cuốn từ điển được in đẹp vào một tệp
Kiểm tra một số hướng dẫn Python khác trên datagy. io, bao gồm hướng dẫn đầy đủ của chúng tôi về cách tạo kiểu cho Pandas và tổng quan toàn diện của chúng tôi về Pivot Tables trong Pandas
Lưu từ điển được in đẹp vào một tệp
Cuối cùng, chúng ta hãy xem cách lưu một bản chính tả được in đẹp vào một tệp. Chúng ta có thể sử dụng thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]5 để thực hiện điều này, với sự trợ giúp của trình quản lý ngữ cảnh
Hãy xem làm thế nào điều này có thể được thực hiện bằng Python
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit2
Chúng tôi sử dụng trình quản lý bối cảnh bằng cách sử dụng chức năng
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit14 để liên kết đến một tệp cụ thể mà chúng tôi muốn lưu từ điển của mình, sau đó sử dụng tham số
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit15 để nói rằng chúng tôi muốn ghi vào tệp. Sau đó, chúng tôi chuyển từ điển và tên_tệp này vào hàm
[email protected]:~# python output_redirection.py Hi Hello from AskPython exit [email protected]:~# cat output.txt Hi Hello from AskPython exit16 để lưu nó vào một tệp
Bạn muốn tìm hiểu thêm về các vòng lặp Python? . Thay vào đó, bạn muốn xem một video?
Phần kết luận
Trong bài đăng này, bạn đã học cách sử dụng Python để in một bản chính tả đẹp mắt. Bạn đã học cách thực hiện việc này bằng cách sử dụng các thư viện
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]5 và
print['Hi', file=open['output.txt', 'a']] print['Hello from AskPython', file=open['output.txt', 'a']] print['exit', file=open['output.txt', 'a']]6, đồng thời biết được sự khác biệt của hai cách tiếp cận này. Bạn cũng đã học cách in đẹp các từ điển lồng nhau trong Python cũng như cách lưu các từ điển được in đẹp vào một tệp