Lý do tại sao bạn luôn có True
đã được đưa ra, vì vậy tôi sẽ chỉ đưa ra một đề xuất khác:
Nếu tệp của bạn không quá lớn, bạn có thể đọc nó thành một chuỗi và chỉ sử dụng nó [dễ dàng và thường nhanh hơn so với đọc và kiểm tra dòng trên mỗi dòng]:
with open['example.txt'] as f:
if 'blabla' in f.read[]:
print["true"]
Một thủ thuật khác: Bạn có thể giảm bớt các sự cố bộ nhớ có thể bằng cách sử dụng mmap.mmap[]
để tạo đối tượng "giống như chuỗi" sử dụng tệp cơ bản [thay vì đọc toàn bộ tệp trong bộ nhớ]:
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
Lưu ý: Trong Python 3, MMAP hoạt động như các đối tượng bytearray
chứ không phải là chuỗi, do đó, phần tiếp theo bạn tìm kiếm với find[]
phải là một đối tượng
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
0 chứ không phải là một chuỗi, ví dụ. import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
1:#!/usr/bin/env python3
import mmap
with open['example.txt', 'rb', 0] as file, \
mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
if s.find[b'blabla'] != -1:
print['true']
Bạn cũng có thể sử dụng các biểu thức thông thường trên
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
2, ví dụ: tìm kiếm không nhạy cảm trường hợp: import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
3 Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc returns the lowest index or first occurrence of the substring if it is found in a given string. If it is not found, then it returns -1.
Bàn luậnstr_obj.find[sub, start, end]
Parameters:
- Phương thức Find [] chuỗi Python trả về chỉ số thấp nhất hoặc lần xuất hiện đầu tiên của chuỗi con nếu nó được tìm thấy trong một chuỗi nhất định. Nếu nó không được tìm thấy, thì nó sẽ trả về -1. Substring that needs to be searched in the given string.
- Cú pháp: str_obj.find [phụ, bắt đầu, kết thúc] Starting position where the substring needs to be checked within the string.
- Sub: Subring cần được tìm kiếm trong chuỗi đã cho. & NBSP; End position is the index of the last value for the specified range. It is excluded while checking.
Bắt đầu [Tùy chọn]: Vị trí bắt đầu trong đó cần kiểm tra chuỗi con trong chuỗi. & NBSP; Returns the lowest index of the substring if it is found in a given string. If it’s not found then it returns -1.
Kết thúc [Tùy chọn]: Vị trí kết thúc là chỉ mục của giá trị cuối cùng cho phạm vi được chỉ định. Nó được loại trừ trong khi kiểm tra. & Nbsp;
Python3
Trả về: & nbsp; Trả về chỉ số thấp nhất của chuỗi con nếu được tìm thấy trong một chuỗi nhất định. Nếu nó không tìm thấy thì nó sẽ trả về -1.
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
7import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
8import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
9#!/usr/bin/env python3
import mmap
with open['example.txt', 'rb', 0] as file, \
mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
if s.find[b'blabla'] != -1:
print['true']
0Output:
6
Note:
- Ví dụ Phương thức Find [] Phương thức Python String []
4import mmap with open['example.txt'] as f: s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ] if s.find['blabla'] != -1: print['true']
5import mmap with open['example.txt'] as f: s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ] if s.find['blabla'] != -1: print['true']
6import mmap with open['example.txt'] as f: s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ] if s.find['blabla'] != -1: print['true']
Nếu các chỉ mục bắt đầu và kết thúc không được cung cấp thì theo mặc định, bạn sẽ mất 0 và độ dài-1 khi các chỉ mục bắt đầu và kết thúc trong đó các chỉ mục kết thúc không được bao gồm trong tìm kiếm của chúng tôi.
Python3
Trả về: & nbsp; Trả về chỉ số thấp nhất của chuỗi con nếu được tìm thấy trong một chuỗi nhất định. Nếu nó không tìm thấy thì nó sẽ trả về -1.
Ví dụ Phương thức Find [] Phương thức Python String []
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
760
61
62
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
4import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
5 import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
6import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
760
Substring 'geeks' found at index: 0 Substring 'for ' found at index: 6 Doesn't contains given substring0
62
Nếu các chỉ mục bắt đầu và kết thúc không được cung cấp thì theo mặc định, bạn sẽ mất 0 và độ dài-1 khi các chỉ mục bắt đầu và kết thúc trong đó các chỉ mục kết thúc không được bao gồm trong tìm kiếm của chúng tôi.
10 -1 -1 60
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
760
10 -1 -1 63
#!/usr/bin/env python3
import mmap
with open['example.txt', 'rb', 0] as file, \
mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
if s.find[b'blabla'] != -1:
print['true']
810 -1 -1 65
Substring 'geeks' found at index: 0 Substring 'for ' found at index: 6 Doesn't contains given substring9
10 -1 -1 60
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
760
True
0#!/usr/bin/env python3
import mmap
with open['example.txt', 'rb', 0] as file, \
mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
if s.find[b'blabla'] != -1:
print['true']
8Output:
Substring 'geeks' found at index: 0 Substring 'for ' found at index: 6 Doesn't contains given substring
Phương thức find [] tương tự như index []. Sự khác biệt duy nhất là tìm [] return -1 nếu không tìm thấy chuỗi được tìm kiếm và index [] ném một ngoại lệ trong trường hợp này.
Ví dụ 1: find [] không có đối số bắt đầu và kết thúc
Python3
Trả về: & nbsp; Trả về chỉ số thấp nhất của chuỗi con nếu được tìm thấy trong một chuỗi nhất định. Nếu nó không tìm thấy thì nó sẽ trả về -1.
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
7import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
8True
7True
8True
9#!/usr/bin/env python3
import mmap
with open['example.txt', 'rb', 0] as file, \
mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
if s.find[b'blabla'] != -1:
print['true']
0Ví dụ Phương thức Find [] Phương thức Python String []
import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
7import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
8mmap.mmap[]
9True
8bytearray
1True
8bytearray
3#!/usr/bin/env python3
import mmap
with open['example.txt', 'rb', 0] as file, \
mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
if s.find[b'blabla'] != -1:
print['true']
0import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
7import mmap
with open['example.txt'] as f:
s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
if s.find['blabla'] != -1:
print['true']
8bytearray
7True
8bytearray
1True
8find[]
1#!/usr/bin/env python3
import mmap
with open['example.txt', 'rb', 0] as file, \
mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
if s.find[b'blabla'] != -1:
print['true']
0Output:
10 -1 -1 6
Explanation:
4import mmap with open['example.txt'] as f: s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ] if s.find['blabla'] != -1: print['true']
5import mmap with open['example.txt'] as f: s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ] if s.find['blabla'] != -1: print['true']
6import mmap with open['example.txt'] as f: s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ] if s.find['blabla'] != -1: print['true']
- Nếu các chỉ mục bắt đầu và kết thúc không được cung cấp thì theo mặc định, bạn sẽ mất 0 và độ dài-1 khi các chỉ mục bắt đầu và kết thúc trong đó các chỉ mục kết thúc không được bao gồm trong tìm kiếm của chúng tôi.
- Phương thức find [] tương tự như index []. Sự khác biệt duy nhất là tìm [] return -1 nếu không tìm thấy chuỗi được tìm kiếm và index [] ném một ngoại lệ trong trường hợp này.
- Ví dụ 1: find [] không có đối số bắt đầu và kết thúc