Làm cách nào để in một dòng cụ thể của chuỗi trong python?

Sử dụng hàm liệt kê Python để lặp qua tệp văn bản hoặc tệp csv, sau đó, đối với mỗi dòng, hãy in số dòng và giá trị dòng. Đây là một đoạn đơn giản

with open [your_file_path, 'r'] as f:
    for i, line in enumerate [f]:
        print[f'Line number:{i+1}; Content: {line}'.strip[]] 

Tạo một tệp ví dụ

Giả sử rằng bạn có văn bản nhiều dòng sau được ghi vào tệp văn bản trong hệ điều hành của mình [Windows, Linux hoặc macOS]

Đây là tệp nhật ký của chúng tôi.
Nó nằm ở C. thư mục \MyWork.
Tệp này được tạo bằng Python.

Tìm số dòng và in nội dung dòng

Nhiệm vụ của chúng ta là in cho mỗi dòng của tệp số dòng và nội dung dòng

# import the path library - ships from Python 3.4 and onwards
from pathlib import Path
# replace with path of file in your environment
file_path = Path['C:\WorkDir\multi_line_file.txt']

# Verify that file exists
if file_path.is_file[]:
#Open file and loop through lines, print line number and content  
with open [file_path, 'r'] as f:
    for i, line in enumerate [f]:
        print[f'Line number:{i+1}; Content: {line}'.strip[]] 
else:
    print["The file doesn't exist."]

Điều này sẽ trả về kết quả sau

Line number:1; Content: This is our log file.
Line number:2; Content: It is located at the C:\MyWork directory.
Line number:3; Content: This file was built with Python.

In các dòng cụ thể từ một tệp

Tiếp theo, chúng tôi muốn tìm kiếm một chuỗi cụ thể trong nội dung tệp và chỉ in dòng cụ thể chứa chuỗi đó. Chúng tôi sẽ sử dụng mô-đun re [biểu thức chính quy] để dễ dàng phân tích cú pháp tệp

Bài viết này được tạo ra để đề cập đến một số chương trình trong Python tìm và in các dòng chứa bất kỳ chuỗi đã cho nào [do người dùng nhập vào khi chạy] trong một tệp nhất định [cũng do người dùng nhập vào khi chạy]. Hãy thực hiện một số nhiệm vụ trước khi tiếp tục chương trình

Những việc cần làm trước chương trình

Bởi vì chương trình đưa ra dưới đây được sử dụng để liệt kê và in tất cả các dòng có chứa chuỗi do người dùng nhập vào tệp văn bản. Do đó, một tệp văn bản nói Codecracker. txt phải được tạo và lưu trong thư mục hiện tại. Vì vậy, hãy tạo một tệp có nội dung sau

Hello Python
I'm a File
My name is codescracker.txt
The name of website is codescracker.com

Lưu tệp này với tên Codecracker. txt trong thư mục lưu chương trình python để in các dòng chứa chuỗi đã cho trong tệp văn bản. Đây là ảnh chụp nhanh hiển thị nội dung của tệp mới được tạo

In dòng chứa chuỗi đã cho trong một tệp

Câu hỏi đặt ra là viết chương trình Python để in các dòng chứa chuỗi do người dùng nhập vào. Chương trình đưa ra dưới đây là câu trả lời cho câu hỏi này

print["Enter the Name of File: "]
fileName = input[]
print["Enter the String: "]
text = input[]
fileHandle = open[fileName, "r"]
lines = fileHandle.readlines[]
for line in lines:
  if text in line:
    print[line]
fileHandle.close[]

Đây là mẫu chạy của nó

Bây giờ cung cấp đầu vào nói Codecracker. txt làm tên của tệp, sau đó trình giải mã dưới dạng chuỗi để in tất cả các dòng có chứa trình giải mã, chuỗi đã cho, trong tệp đã cho [trình giải mã. txt]

Phiên bản sửa đổi của chương trình trước đó

Chương trình này sử dụng try-ngoại trừ, mã xử lý ngoại lệ để xử lý ngoại lệ như tệp không tồn tại, thư mục không thể truy cập, v.v. thích những thứ. Chúng ta hãy xem chương trình và chạy mẫu của nó để hiểu rõ

print[end="Enter File's Name: "]
fileName = input[]
try:
  fileHandle = open[fileName, "r"]
  print[end="Enter the String: "]
  text = input[]
  lines = fileHandle.readlines[]
  lineList = []
  i = 0
  for line in lines:
    if text in line:
      lineList.insert[i, line]
      i = i+1
  fileHandle.close[]
  if i==0:
    print["\n\"" +text+ "\" is not found in \"" +fileName+ "\"!"]
  else:
    lineLen = len[lineList]
    print["\n---Lines containing \"" +text+ "\"---\n"]
    for i in range[lineLen]:
      print[end=lineList[i]]
    print[]
except IOError:
  print["\nThe file doesn't exist!"]

Đây là lần chạy mẫu của nó với đầu vào của người dùng giống hệt như lần chạy mẫu của chương trình trước

Đây là một mẫu chạy khác với đầu vào của người dùng, trình giải mã. txt dưới dạng tên tệp và chuỗi dưới dạng chuỗi

Và đây là lần chạy mẫu cuối cùng của chương trình này, với nhiệt độ đầu vào của người dùng. txt [tệp không tồn tại] làm tên tệp

Như bạn có thể thấy ở phần trên [lần chạy mẫu cuối cùng], mã xử lý ngoại lệ nhận ngoại lệ và in thông báo lỗi

Chủ Đề