Cách mở tệp trong thư mục Python

Thư mục đôi khi còn được gọi là thư mục là cấu trúc tổ chức đơn vị trong hệ thống tệp của máy tính để lưu trữ và định vị tệp hoặc nhiều thư mục. Python hiện hỗ trợ một số API để liệt kê nội dung thư mục. Chẳng hạn, chúng ta có thể sử dụng Đường dẫn. iterdir, hệ điều hành. scandir, hệ điều hành. đi bộ, con đường. rglob hoặc os. chức năng listdir.  

Thư mục đang sử dụng. gfg

 

Phương pháp 1. mô-đun hệ điều hành

  • hệ điều hành. Phương thức listdir[] lấy danh sách tất cả các tệp và thư mục trong một thư mục được chỉ định. Theo mặc định, nó là thư mục hiện tại. Ngoài cấp độ thư mục đầu tiên, hệ điều hành. listdir[] không trả về bất kỳ tệp hoặc thư mục nào

cú pháp. hệ điều hành. listdir[đường dẫn]

Thông số

  • Đường dẫn thư mục

Loại trả lại. trả về danh sách tất cả các tệp và thư mục trong đường dẫn đã chỉ định

ví dụ 1. Nhận tất cả các tệp danh sách trong một Thư mục

con trăn




# import OS module

import os

 

# Get the list of all files and directories

path= "C://Users//Vanshi//Desktop//gfg"

dir_list= os.listdir[path]

 

import0import1import2import3import4import5

 

import6

import0import8

đầu ra

  

ví dụ 2. Để nhận tất cả các tệp và không có thư mục

Python3




import os

 

import0import1_______2_______3import5

 

os5_______5_______ os7os8os9import5

import0# Get the list of all files and directories2# Get the list of all files and directories3import5

 

# Get the list of all files and directories5= # Get the list of all files and directories7

# Get the list of all files and directories5_______5_______ path0path1 path2path3 # Get the list of all files and directories5path5 path6path7path8path7=0=1

Làm việc với tệp là một trong những thao tác thường xuyên nhất mà các lập trình viên phải thực hiện, đặc biệt khi có nhiều thao tác tập trung vào dữ liệu liên quan. Xoay quanh các tệp như tệp văn bản, tập lệnh nhị phân, trang tính excel, v.v., là một số trường hợp sử dụng phổ biến. Mặc dù có các thư viện nâng cao để làm việc với các trang tính Excel và tệp CSV chứa một lượng dữ liệu khổng lồ, nhưng nếu bạn muốn làm việc với các tệp chứa dữ liệu tương đối ít hơn, bạn chỉ cần sử dụng một trong nhiều phương pháp tích hợp do Python cung cấp để .  

Trong bài viết này, bạn sẽ học cách mở một tệp bằng Python. Nhưng trước khi tiếp tục khám phá các phương pháp này, bạn cần hiểu các loại tệp khác nhau mà Python cho phép bạn làm việc và các chế độ có thể được sử dụng để truy cập chúng. Vì vậy, không cần phải quảng cáo thêm, hãy bắt đầu

Các loại tệp

Về cơ bản, Python cho phép bạn làm việc với hai loại tệp sau. Tệp đầu tiên là một tệp văn bản thuần túy và đơn giản mà bạn sử dụng hàng ngày và tệp thứ hai là tệp nhị phân chỉ máy mới hiểu được, bao gồm các số 0 và 1

  • tệp văn bản. Tệp văn bản chứa các ký tự Unicode và có phần mở rộng là. txt. Mỗi dòng trong tệp văn bản được kết thúc bởi một EOL được gọi là ký tự Cuối dòng, ký tự này không có gì khác ngoài ký tự xuống dòng [\n]. Điều này cho phép bạn tách biệt các dòng cụ thể
  • tập tin nhị phân. Đây là sự kết hợp của 0 và 1. Không giống như các tệp văn bản, không có dấu kết thúc dòng ở đây. Trình thông dịch Python trước tiên chuyển đổi các số 0 và 1 thành ngôn ngữ mà máy có thể hiểu được, sau đó lưu trữ dữ liệu tương ứng

khóa học miễn phí. Lập trình với Python

Tìm hiểu kiến ​​thức cơ bản về lập trình với Python Đăng ký ngay

Mở một tệp

Như đã thảo luận trước đó, bạn có thể muốn làm việc với các tệp và thao tác với chúng trong tập lệnh Python. Giả sử bạn muốn sử dụng một bộ dữ liệu cụ thể được lưu trữ trong tệp văn bản và bạn cần thực hiện một số thao tác trên đó hoặc lọc nó. Trong trường hợp như vậy, trước tiên nó sẽ yêu cầu bạn mở tệp, thực hiện các thay đổi cần thiết hoặc chỉ cần truy cập dữ liệu rồi đóng tệp. Đây chính xác là cách bạn sẽ làm bằng cách sử dụng trình quản lý tệp GUI. Và điều tương tự cũng xảy ra với các câu lệnh Python

Python có một phương thức dựng sẵn gọi là open[] cho phép bạn mở tệp và tạo đối tượng tệp. Cú pháp chung của phương thức open[] là -

FileObject = open[r"Tên của tệp", "Chế độ truy cập và loại tệp"]

Bạn không cần nhập gói hoặc thư viện để sử dụng phương pháp này. Có hai tham số mà bạn cần cung cấp cùng với lệnh.  

  • Tên của tệp

Tại đây, bạn có thể chỉ bao gồm tên tệp hoặc toàn bộ đường dẫn của tệp. Nếu bạn chỉ bao gồm tên của tệp, bạn cần đảm bảo rằng tập lệnh Python và tệp văn bản nằm trong cùng một thư mục. Tuy nhiên, nếu bạn muốn bao gồm đường dẫn của tệp, bạn cần đảm bảo rằng bạn đã bao gồm ký tự 'r' trước đường dẫn tệp. Điều này đảm bảo rằng trình thông dịch coi đường dẫn tệp là một chuỗi thô. Ví dụ: nếu đường dẫn tệp chứa thư mục có tên \temp, thì trình thông dịch sẽ đưa ra lỗi vì nó sẽ đọc \t dưới dạng một ký tự đặc biệt có tên là tab

  • Chế độ truy cập

Tại đây, bạn cần xác định chế độ truy cập bạn muốn cấp cho tệp và loại tệp bạn muốn mở. Python cho phép bạn đọc, viết và thêm vào một tệp. Các chữ cái r, w và a. biểu thị những Cùng với đó, bạn có thể cung cấp loại tệp. Đối với tệp văn bản, bạn có thể bao gồm chữ 't' và đối với tệp nhị phân, bạn có thể bao gồm chữ 'b'. Nếu bạn không cung cấp loại tệp, theo mặc định, nó sẽ hiểu rằng bạn đã cung cấp tệp văn bản. Do đó, nếu bạn muốn cấp quyền ghi vào tệp nhị phân, tham số sẽ là “wb”

Ngoài ra, còn có các biến thể khác nhau của từng chế độ. Hãy thảo luận về tất cả chúng

Chế độ truy cập

Sử dụng

'x'

Nó được sử dụng để tạo một tệp mới trống

'r'

Nó được sử dụng để mở tệp ở chế độ chỉ đọc. Hơn nữa, tệp phải tồn tại trước khi bạn sử dụng chế độ này

'w'

Nó được sử dụng để mở tệp ở chế độ chỉ ghi. Nếu tệp đã tồn tại, tệp sẽ bị cắt bớt thành 0 ký tự hoặc bị ghi đè bởi nội dung bạn cung cấp. Nếu nó không tồn tại, thì nó được tạo ra

'một'

Nó cũng được sử dụng để mở tệp ở chế độ chỉ ghi. Nếu tệp đã tồn tại, nó vẫn còn nguyên vẹn và nội dung được thêm vào cuối. Nhưng nếu tệp không tồn tại, nó sẽ được tạo

'r+'

Nó được sử dụng để mở tệp cho cả đọc và ghi và tệp phải tồn tại

'w+'

Nó cũng được sử dụng để mở tệp cho cả đọc và ghi. Nếu nó đã tồn tại, thì nó sẽ bị cắt bớt hoặc ghi đè. Nếu nó không tồn tại, nó sẽ được tạo ra

'a+'

Nó cũng được sử dụng để mở tệp cho cả đọc và ghi. Sự khác biệt duy nhất là nếu tệp đã tồn tại, nội dung sẽ được thêm vào cuối. Nếu không, sau đó nó được tạo ra

Khóa đào tạo Python

Tìm hiểu về thao tác dữ liệu trong Python Khám phá khóa học

Nói chung, các chế độ truy cập cũng xác định vị trí của xử lý tệp. Xử lý tệp giống như vị trí con trỏ trong tệp. Tùy thuộc vào chế độ truy cập, vị trí của xử lý tệp được xác định. Ví dụ: ở chế độ chắp thêm, phần xử lý tệp nằm ở cuối tệp. Và ở chế độ đọc, phần xử lý tệp nằm ở đầu tệp

Tiếp theo, hãy xem xét đoạn mã dưới đây

myfile1 = open["simplilearn. txt", "w"]

myfile2 = open[r"/home/jarvis/Documents/simplilearn. txt", "r+"]

Ở đây, bạn đã tạo hai đối tượng tệp cho cùng một tệp. Cái đầu tiên là sử dụng trực tiếp tên tệp. Điều này sẽ không gây ra lỗi vì tệp văn bản và tập lệnh Python nằm trong cùng một thư mục. Việc tiếp theo là bằng cách cung cấp đường dẫn tệp. Bạn cần sử dụng ký tự r ở đầu để trình thông dịch đọc đường dẫn dưới dạng chuỗi thô

Hãy sử dụng phương thức mở với các chế độ truy cập khác nhau

Hãy thử đọc nội dung của một tệp vào một đối tượng tệp và in nó

myfile1 = open["simplilearn. txt", "r"]

in[myfile1. đọc[]]

myfile1. Thoát[]

Ở đây, bạn đã sử dụng phương thức mở và cung cấp tên của tệp cùng với chế độ truy cập đọc. Tiếp theo, bạn đã gọi phương thức read[] trên đối tượng tệp và in nội dung của nó. Sau đó, bạn đóng đối tượng tệp để tránh lãng phí bộ nhớ và tài nguyên

Bạn có thể ghi vào một tệp bằng hai phương thức khác nhau - write[] và writelines[]. Phương thức write[] đơn giản viết một chuỗi thành một dòng mới. Phương thức writelines lấy danh sách các chuỗi và ghi chúng vào tệp. Hãy xem một ví dụ cho cả hai

inputList = ["Xin chào và Chào mừng đến với Simplilearn \n", "Chúng tôi có rất nhiều khóa học miễn phí và trả phí dành cho bạn\n"]

inputString = "Xin chào và Chào mừng\n"

myfile1 = open["simplilearn. txt", "w"]

myfile1. ghi [chuỗi đầu vào]

myfile1. Thoát[]

print["Dùng phương thức ghi. "]

myfile1 = open["simplilearn. txt", "r"]

in[myfile1. đọc[]]

myfile1. Thoát[]

myfile2 = open["simplilearn. txt", "w"]

myfile2. dòng ghi [inputList]

myfile2. Thoát[]

print["Dùng phương thức writelines. "]

myfile2 = open["simplilearn. txt", "r"]

in [myfile2. đọc[]]

myfile2. Thoát[]

Ở đây, bạn đã thấy việc tạo một danh sách các chuỗi và một chuỗi đơn giản. Đầu tiên, bạn đã mở một đối tượng tệp ở chế độ ghi và sử dụng phương thức ghi để ghi chuỗi đơn giản vào tệp, sau đó đóng nó bằng phương thức đóng trên đối tượng tệp. Sau đó, bạn đã mở đối tượng tệp ở chế độ đọc và in nội dung mà bạn vừa viết bằng phương thức ghi và đóng đối tượng lại. Bạn đã làm tương tự cho phương thức writelines tiếp theo. Hãy kiểm tra đầu ra của chương trình

Để tạo mã sạch hơn, trực quan và hiệu quả hơn, bạn có thể sử dụng câu lệnh 'with'. Nếu bạn sử dụng câu lệnh with, bạn không cần đóng đối tượng tệp. Nó tự động xử lý việc phân bổ tài nguyên và giải phóng không gian cũng như tài nguyên sau khi bạn rời khỏi khối with. Cú pháp chung là -

with open as  file

Hãy hiểu điều này với sự giúp đỡ của một ví dụ

inputList = ["Xin chào và Chào mừng đến với Simplilearn \n", "Chúng tôi có rất nhiều khóa học miễn phí và trả phí dành cho bạn\n"]

với open["simplilearn. txt", "w"] dưới dạng tệp tin của tôi

tập tin của tôi. dòng ghi [inputList]

với open["simplilearn. txt", "r"] dưới dạng tệp tin của tôi

in [tệp của tôi. đọc[]]

Ở đây, trong khối with đầu tiên, bạn đã mở một tệp ở chế độ ghi và chèn một vài câu bằng phương thức writelines. Trong khối with tiếp theo, bạn đã mở nó ở chế độ đọc và in nội dung. Bạn không cần phải gọi một phương thức đóng trên các đối tượng tệp vì các câu lệnh with sẽ tự động xử lý nó

Mong muốn chuyển sang lĩnh vực lập trình?

kết thúc

Tóm lại, trong bài viết này, bạn đã biết cách mở tệp bằng Python và tại sao cần phải làm như vậy ngay từ đầu. Bạn đã lướt qua các loại tệp khác nhau, chế độ truy cập và cách mở tệp bằng phương thức dựng sẵn open[]. Bạn cũng đã biết cách sử dụng các chế độ đọc, viết và nối thêm, và cuối cùng, bạn đã khám phá cách tận dụng câu lệnh 'with' để tạo mã hiệu quả hơn và dễ đọc hơn

Nếu bạn đang muốn nắm vững ngôn ngữ python và trở thành một nhà phát triển Python chuyên nghiệp, thì Khóa học cấp chứng chỉ Python của Simplilearn là lựa chọn lý tưởng dành cho bạn. Được cung cấp bởi các giảng viên đẳng cấp thế giới, khóa học cấp chứng chỉ toàn diện này sẽ không chỉ bao gồm kiến ​​thức cơ bản về Python mà còn cung cấp cho bạn chuyên môn sâu trong các lĩnh vực chính như triển khai các câu lệnh có điều kiện, xử lý hoạt động dữ liệu, Django và shell scripting

Bạn có câu hỏi nào cho chúng tôi về cách mở tệp trong bài viết Python không?

học tập vui vẻ

Thông tin về các Tác giả

Ravikiran AS

Ravikiran A S làm việc với Simplilearn với tư cách là Nhà phân tích nghiên cứu. Anh ấy là một người đam mê nhiệt tình, luôn săn lùng những công nghệ mới nhất. Anh ấy thành thạo Ngôn ngữ lập trình Java, Dữ liệu lớn và các Khung dữ liệu lớn mạnh mẽ như Apache Hadoop và Apache Spark

Chủ Đề