Chương này bao gồm tất cả các chức năng I/O cơ bản có sẵn trong Python. Để biết thêm các chức năng, vui lòng tham khảo tài liệu Python tiêu chuẩn
In ra màn hình
Cách đơn giản nhất để tạo đầu ra là sử dụng câu lệnh in trong đó bạn có thể chuyển 0 hoặc nhiều biểu thức được phân tách bằng dấu phẩy. Hàm này chuyển đổi các biểu thức bạn truyền vào thành một chuỗi và ghi kết quả vào đầu ra tiêu chuẩn như sau –
#!/usr/bin/python print "Python is really a great language,", "isn't it?"
Điều này tạo ra kết quả sau trên màn hình tiêu chuẩn của bạn -
Python is really a great language, isn't it?
Đọc đầu vào bàn phím
Python cung cấp hai hàm tích hợp để đọc một dòng văn bản từ đầu vào tiêu chuẩn, theo mặc định đến từ bàn phím. Các chức năng này là -
Hàm raw_input
Hàm raw_input[[prompt]] đọc một dòng từ đầu vào tiêu chuẩn và trả về dưới dạng một chuỗi [xóa dòng mới ở cuối]
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str
Điều này nhắc bạn nhập bất kỳ chuỗi nào và nó sẽ hiển thị cùng một chuỗi trên màn hình. Khi tôi gõ "Xin chào Python. ", đầu ra của nó như thế này -
Enter your input: Hello Python Received input is : Hello Python
Chức năng đầu vào
Hàm input[[prompt]] tương đương với raw_input, ngoại trừ việc nó giả định đầu vào là một biểu thức Python hợp lệ và trả về kết quả đã đánh giá cho bạn
#!/usr/bin/python str = input["Enter your input: "] print "Received input is : ", str
Điều này sẽ tạo ra kết quả sau đối với đầu vào đã nhập -
Enter your input: [x*5 for x in range[2,10,2]] Recieved input is : [10, 20, 30, 40]
Mở và đóng tệp
Cho đến bây giờ, bạn đã đọc và ghi vào đầu vào và đầu ra tiêu chuẩn. Bây giờ, chúng ta sẽ xem cách sử dụng các tệp dữ liệu thực tế
Python cung cấp các hàm và phương thức cơ bản cần thiết để thao tác với tệp theo mặc định. Bạn có thể thực hiện hầu hết thao tác tệp bằng đối tượng tệp
Chức năng mở
Trước khi bạn có thể đọc hoặc ghi một tệp, bạn phải mở tệp đó bằng hàm open[] tích hợp sẵn của Python. Hàm này tạo một đối tượng tệp, đối tượng này sẽ được sử dụng để gọi các phương thức hỗ trợ khác được liên kết với nó
cú pháp
file object = open[file_name [, access_mode][, buffering]]
Dưới đây là chi tiết tham số -
file_name − Đối số file_name là một giá trị chuỗi chứa tên của tệp mà bạn muốn truy cập
access_mode − Access_mode xác định chế độ mà tệp phải được mở, tôi. e. , đọc, viết, chắp thêm, v.v. Một danh sách đầy đủ các giá trị có thể được đưa ra dưới đây trong bảng. Đây là tham số tùy chọn và chế độ truy cập tệp mặc định là đọc [r]
đệm - Nếu giá trị đệm được đặt thành 0, không có bộ đệm nào diễn ra. Nếu giá trị bộ đệm là 1, bộ đệm dòng được thực hiện trong khi truy cập tệp. Nếu bạn chỉ định giá trị bộ đệm là một số nguyên lớn hơn 1, thì hành động đệm được thực hiện với kích thước bộ đệm được chỉ định. Nếu âm, kích thước bộ đệm là mặc định của hệ thống [hành vi mặc định]
Dưới đây là danh sách các chế độ mở tệp khác nhau -
Sr. KHÔNG. Chế độ & Mô tả1r
Mở một tập tin chỉ để đọc. Con trỏ tệp được đặt ở đầu tệp. Đây là chế độ mặc định
2rb
Mở một tệp chỉ để đọc ở định dạng nhị phân. Con trỏ tệp được đặt ở đầu tệp. Đây là chế độ mặc định
3r+
Mở một tệp cho cả đọc và ghi. Con trỏ tệp đặt ở đầu tệp
4rb+
Mở một tệp cho cả đọc và ghi ở định dạng nhị phân. Con trỏ tệp đặt ở đầu tệp
5w
Mở một tập tin chỉ để viết. Ghi đè tệp nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để ghi
6wb
Mở một tệp chỉ để ghi ở định dạng nhị phân. Ghi đè tệp nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để ghi
7w+
Mở một tệp cho cả viết và đọc. Ghi đè lên tệp hiện có nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để đọc và ghi
8wb+
Mở một tệp để ghi và đọc ở định dạng nhị phân. Ghi đè lên tệp hiện có nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để đọc và ghi
9a
Mở một tệp để nối thêm. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tức là tệp đang ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để ghi
10ab
Mở một tệp để nối thêm ở định dạng nhị phân. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tức là tệp đang ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để ghi
11một +
Mở một tệp cho cả việc nối thêm và đọc. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tệp mở ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để đọc và ghi
12ab+
Mở một tệp cho cả việc nối thêm và đọc ở định dạng nhị phân. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tệp mở ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để đọc và ghi
Thuộc tính đối tượng tệp
Khi một tệp được mở và bạn có một đối tượng tệp, bạn có thể nhận được nhiều thông tin khác nhau liên quan đến tệp đó
Đây là danh sách tất cả các thuộc tính liên quan đến đối tượng tệp -
tập tin. đóng cửa
Trả về true nếu tệp bị đóng, false nếu không
2tập tin. cách thức
Trả về chế độ truy cập mà tệp đã được mở
3tài liệu. Tên
Trả về tên của tập tin
4tài liệu. không gian mềm
Trả về false nếu không gian được yêu cầu rõ ràng với chữ in, nếu không thì trả về true
Thí dụ
#!/usr/bin/python # Open a file fo = open["foo.txt", "wb"] print "Name of the file: ", fo.name print "Closed or not : ", fo.closed print "Opening mode : ", fo.mode print "Softspace flag : ", fo.softspace
Điều này tạo ra kết quả sau -
________số 8_______Phương thức close[]
Phương thức close[] của một đối tượng tệp xóa mọi thông tin chưa được ghi và đóng đối tượng tệp, sau đó không thể ghi thêm nữa
Python tự động đóng tệp khi đối tượng tham chiếu của tệp được gán lại cho tệp khác. Đó là một cách thực hành tốt để sử dụng phương thức close[] để đóng tệp
cú pháp
fileObject.close[]
Thí dụ
Python is really a great language, isn't it?0
Điều này tạo ra kết quả sau -
Python is really a great language, isn't it?1
Đọc và ghi tập tin
Đối tượng tệp cung cấp một tập hợp các phương thức truy cập để giúp cuộc sống của chúng ta dễ dàng hơn. Chúng ta sẽ xem cách sử dụng các phương thức read[] và write[] để đọc và ghi tệp
Phương thức write[]
Phương thức write[] ghi bất kỳ chuỗi nào vào một tệp đang mở. Điều quan trọng cần lưu ý là chuỗi Python có thể có dữ liệu nhị phân chứ không chỉ văn bản
Phương thức write[] không thêm ký tự xuống dòng ['\n'] vào cuối chuỗi −
cú pháp
Python is really a great language, isn't it?2
Ở đây, tham số truyền vào là nội dung được ghi vào tệp đã mở
Thí dụ
Python is really a great language, isn't it?3
Phương pháp trên sẽ tạo ra foo. txt và sẽ ghi nội dung đã cho vào tệp đó và cuối cùng nó sẽ đóng tệp đó. Nếu bạn mở tệp này, nó sẽ có nội dung sau
Python is really a great language, isn't it?4
Phương thức đọc[]
Phương thức read[] đọc một chuỗi từ một tệp đang mở. Điều quan trọng cần lưu ý là chuỗi Python có thể có dữ liệu nhị phân. Ngoài dữ liệu văn bản
cú pháp
Python is really a great language, isn't it?5
Ở đây, tham số được truyền là số byte được đọc từ tệp đã mở. Phương pháp này bắt đầu đọc từ đầu tệp và nếu thiếu số lượng, thì nó sẽ cố đọc càng nhiều càng tốt, có thể cho đến cuối tệp
Thí dụ
Hãy lấy một tập tin foo. txt mà chúng tôi đã tạo ở trên
Python is really a great language, isn't it?6
Điều này tạo ra kết quả sau -
Python is really a great language, isn't it?7
Vị trí tệp
Phương thức tell[] cho bạn biết vị trí hiện tại trong tệp;
Phương thức seek[offset[, from]] thay đổi vị trí tệp hiện tại. Đối số offset cho biết số byte sẽ được di chuyển. Đối số from chỉ định vị trí tham chiếu từ nơi các byte sẽ được di chuyển
Nếu từ được đặt thành 0, điều đó có nghĩa là sử dụng phần đầu của tệp làm vị trí tham chiếu và 1 có nghĩa là sử dụng vị trí hiện tại làm vị trí tham chiếu và nếu nó được đặt thành 2 thì phần cuối của tệp sẽ được lấy làm vị trí tham chiếu
Thí dụ
Hãy để chúng tôi lấy một tập tin foo. txt mà chúng tôi đã tạo ở trên
Python is really a great language, isn't it?8
Điều này tạo ra kết quả sau -
Python is really a great language, isn't it?9
Đổi tên và xóa tệp
Mô-đun hệ điều hành Python cung cấp các phương thức giúp bạn thực hiện các thao tác xử lý tệp, chẳng hạn như đổi tên và xóa tệp
Để sử dụng mô-đun này, trước tiên bạn cần nhập mô-đun này và sau đó bạn có thể gọi bất kỳ chức năng liên quan nào
Phương thức đổi tên []
Phương thức rename[] nhận hai đối số, tên tệp hiện tại và tên tệp mới
cú pháp
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str0
Thí dụ
Sau đây là ví dụ để đổi tên tệp hiện có test1. txt −
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str1
Phương thức loại bỏ []
Bạn có thể sử dụng phương thức remove[] để xóa tệp bằng cách cung cấp tên của tệp sẽ bị xóa làm đối số
cú pháp
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str2
Thí dụ
Sau đây là ví dụ để xóa một tập tin hiện có test2. txt −
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str3
Thư mục trong Python
Tất cả các tệp được chứa trong các thư mục khác nhau và Python cũng không gặp vấn đề gì khi xử lý các tệp này. Mô-đun os có một số phương thức giúp bạn tạo, xóa và thay đổi thư mục
Phương thức mkdir[]
Bạn có thể sử dụng phương thức mkdir[] của mô-đun os để tạo các thư mục trong thư mục hiện tại. Bạn cần cung cấp một đối số cho phương thức này chứa tên của thư mục sẽ được tạo
cú pháp
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str4
Thí dụ
Sau đây là ví dụ để tạo một thư mục kiểm tra trong thư mục hiện tại -
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str5
Phương thức chdir[]
Bạn có thể sử dụng phương thức chdir[] để thay đổi thư mục hiện tại. Phương thức chdir[] nhận một đối số, là tên của thư mục mà bạn muốn tạo thư mục hiện tại
cú pháp
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str6
Thí dụ
Sau đây là ví dụ để vào thư mục "/home/newdir" −
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str7
Phương thức getcwd[]
Phương thức getcwd[] hiển thị thư mục làm việc hiện tại
cú pháp
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str8
Thí dụ
Sau đây là ví dụ để cung cấp thư mục hiện tại -
#!/usr/bin/python str = raw_input["Enter your input: "] print "Received input is : ", str9
Phương thức rmdir[]
Phương thức rmdir[] xóa thư mục, được truyền dưới dạng đối số trong phương thức
Trước khi xóa một thư mục, tất cả nội dung trong đó phải được xóa
cú pháp
Enter your input: Hello Python Received input is : Hello Python0
Thí dụ
Sau đây là ví dụ để xóa thư mục "/tmp/test". Yêu cầu cung cấp tên đầy đủ của thư mục, nếu không nó sẽ tìm kiếm thư mục đó trong thư mục hiện tại
Enter your input: Hello Python Received input is : Hello Python1
Phương pháp liên quan đến tệp và thư mục
Có ba nguồn quan trọng, cung cấp nhiều phương thức tiện ích để xử lý và thao tác các tệp & thư mục trên hệ điều hành Windows và Unix. Chúng như sau -