Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

1272

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một tệp văn bản trông giống như:

ABC
DEF

Làm thế nào tôi có thể đọc tệp vào một chuỗi một dòng mà không có newlines, trong trường hợp này tạo ra một chuỗi

txt = txt.replace('\n', '')
1?


Để đọc tệp vào một danh sách các dòng, nhưng xóa ký tự dòng mới ra khỏi mỗi dòng, xem cách đọc một tệp mà không có newlines ?.

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Đã hỏi ngày 3 tháng 12 năm 2011 lúc 16:47Dec 3, 2011 at 16:47

6

Bạn đã có thể sử dụng:

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')

Hoặc nếu nội dung tệp được đảm bảo là một dòng

with open('data.txt', 'r') as file:
    data = file.read().rstrip()

OneCricketeer

161K18 Huy hiệu vàng120 Huy hiệu bạc222 Huy hiệu đồng18 gold badges120 silver badges222 bronze badges

Đã trả lời ngày 3 tháng 12 năm 2011 lúc 17:06Dec 3, 2011 at 17:06

mất ngủSleeplessnerdsleeplessnerd

Huy hiệu vàng 20,9K11 gold badge24 silver badges29 bronze badges

14

Trong Python 3.5 trở lên, sử dụng PathLib, bạn có thể sao chép nội dung tệp văn bản vào một biến và đóng tệp trong một dòng:

from pathlib import Path
txt = Path('data.txt').read_text()

Và sau đó bạn có thể sử dụng str.replace để loại bỏ các dòng mới:

txt = txt.replace('\n', '')

Đã trả lời ngày 29 tháng 3 năm 2018 lúc 20:26Mar 29, 2018 at 20:26

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

3

Bạn có thể đọc từ một tệp trong một dòng:

str = open('very_Important.txt', 'r').read()

Xin lưu ý rằng điều này không đóng tệp một cách rõ ràng.

CPython sẽ đóng tệp khi nó thoát ra như một phần của bộ sưu tập rác.

Nhưng các triển khai Python khác sẽ không. Để viết mã di động, tốt hơn là sử dụng

txt = txt.replace('\n', '')
2 hoặc đóng tệp một cách rõ ràng. Ngắn không phải lúc nào cũng tốt hơn. Xem https://stackoverflow.com/a/7396043/362951

MIT

10,8k10 Huy hiệu vàng47 Huy hiệu bạc74 Huy hiệu đồng10 gold badges47 silver badges74 bronze badges

Đã trả lời ngày 3 tháng 12 năm 2015 lúc 2:52Dec 3, 2015 at 2:52

Nafis Ahmadnafis AhmadNafis Ahmad

2.6112 Huy hiệu vàng25 Huy hiệu bạc13 Huy hiệu Đồng2 gold badges25 silver badges13 bronze badges

5

Để tham gia tất cả các dòng vào một chuỗi và xóa các dòng mới, tôi thường sử dụng:

with open('t.txt') as f:
  s = " ".join([l.rstrip("\n") for l in f]) 

Đã trả lời ngày 21 tháng 3 năm 2015 lúc 3:10Mar 21, 2015 at 3:10

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Pedro lobitopedro lobitoPedro Lobito

88.8K29 Huy hiệu vàng239 Huy hiệu bạc257 Huy hiệu Đồng29 gold badges239 silver badges257 bronze badges

5

with open("data.txt") as myfile:
    data="".join(line.rstrip() for line in myfile)

tham gia () sẽ tham gia một danh sách các chuỗi và rstrip () không có lập luận nào sẽ cắt giảm khoảng trắng, bao gồm cả dòng mới, từ cuối chuỗi.

Đã trả lời ngày 3 tháng 12 năm 2011 lúc 16:55Dec 3, 2011 at 16:55

MagerValPmagervalpMagerValp

Phim thương hiệu vàng 2,80211 gold badge23 silver badges27 bronze badges

0

Điều này có thể được thực hiện bằng phương thức Read ():

text_as_string = open('Your_Text_File.txt', 'r').read()

Hoặc vì bản thân chế độ mặc định là 'r' (đọc) vì vậy chỉ cần sử dụng,

text_as_string = open('Your_Text_File.txt').read()

Đã trả lời ngày 16 tháng 11 năm 2018 lúc 7:16Nov 16, 2018 at 7:16

LoochieloochieLoochie

2.24610 Huy hiệu bạc18 Huy hiệu đồng10 silver badges18 bronze badges

1

Tôi ngạc nhiên chưa có ai đề cập đến

txt = txt.replace('\n', '')
3.

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
0

Biến

txt = txt.replace('\n', '')
4 hiện là một danh sách trông như thế này khi được in:

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
1

Lưu ý không có Newlines (

txt = txt.replace('\n', '')
5).

Tại thời điểm đó, có vẻ như bạn muốn in lại các dòng vào bảng điều khiển mà bạn có thể đạt được bằng một vòng lặp:

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
2

Gelonida

5,0022 Huy hiệu vàng20 Huy hiệu bạc38 Huy hiệu Đồng2 gold badges20 silver badges38 bronze badges

Đã trả lời ngày 8 tháng 2 năm 2018 lúc 11:59Feb 8, 2018 at 11:59

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

JulianjulianJulian

3.6624 Huy hiệu vàng19 Huy hiệu bạc27 Huy hiệu đồng4 gold badges19 silver badges27 bronze badges

1

Tôi đã loay hoay với điều này trong một thời gian và thích sử dụng

txt = txt.replace('\n', '')
6 kết hợp với
txt = txt.replace('\n', '')
7. Không có
txt = txt.replace('\n', '')
8, Python thêm một dòng mới vào cuối chuỗi, trong hầu hết các trường hợp không hữu ích lắm.

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
3

Gelonida

5,0022 Huy hiệu vàng20 Huy hiệu bạc38 Huy hiệu Đồng2 gold badges20 silver badges38 bronze badges

Đã trả lời ngày 8 tháng 2 năm 2018 lúc 11:59Apr 28, 2017 at 7:46

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Julianjulianwhirlwin

3.6624 Huy hiệu vàng19 Huy hiệu bạc27 Huy hiệu đồng17 gold badges67 silver badges97 bronze badges

Tôi đã loay hoay với điều này trong một thời gian và thích sử dụng

txt = txt.replace('\n', '')
6 kết hợp với
txt = txt.replace('\n', '')
7. Không có
txt = txt.replace('\n', '')
8, Python thêm một dòng mới vào cuối chuỗi, trong hầu hết các trường hợp không hữu ích lắm.

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
4

Đã trả lời ngày 28 tháng 4 năm 2017 lúc 7:46Dec 3, 2011 at 16:51

WhirlwinwhirlwinChris Eberle

15.6K17 Huy hiệu vàng67 Huy hiệu bạc97 Huy hiệu đồng12 gold badges80 silver badges118 bronze badges

3

Thật khó để nói chính xác những gì bạn đang theo đuổi, nhưng một cái gì đó như thế này sẽ giúp bạn bắt đầu:

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
5

Đã trả lời ngày 3 tháng 12 năm 2011 lúc 16:51Mar 31 at 13:40

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Chris Eberlechris EberleMy Car

47.2K12 Huy hiệu vàng80 Huy hiệu bạc118 Huy hiệu đồng3 gold badges10 silver badges31 bronze badges

Hãy thử mã sau:

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
6

Đã trả lời ngày 31 tháng 3 lúc 13:40

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
7

Xe Carmy của tôi

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
8

1.5353 huy hiệu vàng10 Huy hiệu bạc31 Huy hiệu đồngJul 30, 2018 at 20:34

1

Bạn có thể nén nó thành một thành hai dòng mã !!!

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
9

Nếu tệp của bạn có nội dung:

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Đầu ra Python

Đã trả lời ngày 30 tháng 7 năm 2018 lúc 20:341 gold badge7 silver badges13 bronze badges

Bạn cũng có thể tước từng dòng và nối vào một chuỗi cuối cùng.Apr 26, 2015 at 5:57

2

Điều này cũng sẽ hoạt động tốt.

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
0

OrionmdAug 23, 2018 at 15:33

1

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
1

Gelonida

5,0022 Huy hiệu vàng20 Huy hiệu bạc38 Huy hiệu Đồng2 gold badges20 silver badges38 bronze badges

Đã trả lời ngày 8 tháng 2 năm 2018 lúc 11:59Dec 3, 2011 at 16:49

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Julianjulianhungneox

3.6624 Huy hiệu vàng19 Huy hiệu bạc27 Huy hiệu đồng11 gold badges48 silver badges65 bronze badges

3

Tôi đã loay hoay với điều này trong một thời gian và thích sử dụng

txt = txt.replace('\n', '')
6 kết hợp với
txt = txt.replace('\n', '')
7. Không có
txt = txt.replace('\n', '')
8, Python thêm một dòng mới vào cuối chuỗi, trong hầu hết các trường hợp không hữu ích lắm.

Đã trả lời ngày 28 tháng 4 năm 2017 lúc 7:46

WhirlwinwhirlwinNov 16, 2016 at 13:04

15.6K17 Huy hiệu vàng67 Huy hiệu bạc97 Huy hiệu đồnggerardw

Thật khó để nói chính xác những gì bạn đang theo đuổi, nhưng một cái gì đó như thế này sẽ giúp bạn bắt đầu:42 silver badges38 bronze badges

3

Oneliner:

  • Đã trả lời ngày 3 tháng 12 năm 2011 lúc 16:51

  • Chris Eberlechris Eberle

47.2K12 Huy hiệu vàng80 Huy hiệu bạc118 Huy hiệu đồng

  • Hãy thử mã sau:

Đã trả lời ngày 31 tháng 3 lúc 13:40Aug 28, 2021 at 8:38

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Xe Carmy của tôiMachinexa

1.5353 huy hiệu vàng10 Huy hiệu bạc31 Huy hiệu đồng1 gold badge6 silver badges15 bronze badges

Bạn có thể nén nó thành một thành hai dòng mã !!!

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
3

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Ali

1.3572 Huy hiệu vàng12 Huy hiệu bạc18 Huy hiệu đồng2 gold badges12 silver badges18 bronze badges

Đã trả lời ngày 16 tháng 11 năm 2017 lúc 17:41Nov 16, 2017 at 17:41

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

1

Để loại bỏ các lần ngắt dòng bằng Python, bạn có thể sử dụng hàm

str = open('very_Important.txt', 'r').read()
1 của chuỗi.

Ví dụ này loại bỏ tất cả 3 loại ngắt dòng:

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
4

Tệp ví dụ là:

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
5

Bạn có thể thử nó bằng cách sử dụng kịch bản phát lại này:

https://repl.it/repls/AnnualJointHardware

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Đã trả lời ngày 31 tháng 10 năm 2019 lúc 19:12Oct 31, 2019 at 19:12

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Sma Masma MaSma Ma

2.9031 Huy hiệu vàng29 Huy hiệu bạc38 Huy hiệu đồng1 gold badge29 silver badges38 bronze badges

Tôi không cảm thấy rằng bất cứ ai đã giải quyết phần [] câu hỏi của bạn. Khi bạn đọc từng dòng vào biến của mình, vì có nhiều dòng trước khi bạn thay thế \ n bằng '' bạn đã kết thúc việc tạo một danh sách. Nếu bạn có một biến của x và in nó ra chỉ bằng cách

x

hoặc in (x)

hoặc str (x)

Bạn sẽ thấy toàn bộ danh sách với dấu ngoặc. Nếu bạn gọi từng phần tử của (mảng của các loại)

x [0] sau đó nó bỏ qua dấu ngoặc. Nếu bạn sử dụng hàm str (), bạn sẽ chỉ thấy dữ liệu chứ không phải ''. str (x [0])

Đã trả lời ngày 6 tháng 3 năm 2015 lúc 20:16Mar 6, 2015 at 20:16

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

Có lẽ bạn có thể thử cái này? Tôi sử dụng điều này trong các chương trình của tôi.

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
6

Đã trả lời ngày 3 tháng 7 năm 2019 lúc 20:33Jul 3, 2019 at 20:33

Biểu thức thông thường cũng hoạt động:

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
7

['Tôi', 'cảm nhận', 'trống', 'và', 'chết', 'bên trong']]

Đã trả lời ngày 13 tháng 8 năm 2019 lúc 13:08Aug 13, 2019 at 13:08

AlexalexAlex

9444 Huy hiệu vàng14 Huy hiệu bạc28 Huy hiệu đồng4 gold badges14 silver badges28 bronze badges

0

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
8

Đã trả lời ngày 27 tháng 7 năm 2021 lúc 9:32Jul 27, 2021 at 9:32

Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi

0

with open('data.txt', 'r') as file:
    data = file.read().rstrip()
9

Là cách tốt nhất để có được tất cả các dòng của một tệp, '\ n' đã bị tước bởi

txt = txt.replace('\n', '')
3 (thông minh nhận ra các loại dòng Win/Mac/Unix).

Nhưng dù sao bạn cũng muốn tước từng dòng:

from pathlib import Path
txt = Path('data.txt').read_text()
0

str = open('very_Important.txt', 'r').read()
3 chỉ là một ví dụ hữu ích, nhưng bạn có thể xử lý dòng của mình theo cách bạn muốn.

Cuối cùng, bạn chỉ muốn kết nối văn bản?

from pathlib import Path
txt = Path('data.txt').read_text()
1

Đã trả lời ngày 26 tháng 3 lúc 19:31Mar 26 at 19:31

Yotayotayota

1.85021 huy hiệu bạc34 huy hiệu đồng21 silver badges34 bronze badges

Điều này hoạt động: Thay đổi tệp của bạn thành:

from pathlib import Path
txt = Path('data.txt').read_text()
2

Then:

from pathlib import Path
txt = Path('data.txt').read_text()
3

Điều này tạo ra một danh sách có tên

str = open('very_Important.txt', 'r').read()
4 bằng:

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')
1

Điều đó đã loại bỏ "\ n". Để trả lời phần về dấu ngoặc cản đường của bạn, chỉ cần làm điều này:

from pathlib import Path
txt = Path('data.txt').read_text()
5

Or:

from pathlib import Path
txt = Path('data.txt').read_text()
6

Điều này trả về:

from pathlib import Path
txt = Path('data.txt').read_text()
7

Đã trả lời ngày 20 tháng 5 năm 2015 lúc 18:34May 20, 2015 at 18:34

PyguypyguyPyGuy

433 huy hiệu đồng3 bronze badges

1

from pathlib import Path
txt = Path('data.txt').read_text()
8

Mã này sẽ giúp bạn đọc dòng đầu tiên và sau đó sử dụng tùy chọn danh sách và phân chia Bạn có thể chuyển đổi từ dòng đầu tiên được phân tách bằng không gian để được lưu trữ trong danh sách.

Hơn bạn có thể dễ dàng truy cập bất kỳ từ nào, hoặc thậm chí lưu trữ nó trong một chuỗi.

Bạn cũng có thể làm điều tương tự với việc sử dụng một vòng lặp.

Đã trả lời ngày 23 tháng 1 năm 2016 lúc 10:26Jan 23, 2016 at 10:26

from pathlib import Path
txt = Path('data.txt').read_text()
9

Đã trả lời ngày 13 tháng 6 năm 2016 lúc 8:53Jun 13, 2016 at 8:53

AkdakdakD

1,0071 Huy hiệu vàng10 Huy hiệu bạc15 Huy hiệu đồng1 gold badge10 silver badges15 bronze badges

0

Hãy thử những điều sau:

txt = txt.replace('\n', '')
0

THẬN TRỌNG: Nó không loại bỏ

txt = txt.replace('\n', '')
5. Nó chỉ là để xem văn bản như thể không có
txt = txt.replace('\n', '')
5

Đã trả lời ngày 6 tháng 12 năm 2019 lúc 6:25Dec 6, 2019 at 6:25

Palak Jainpalak JainPalak Jain

6146 Huy hiệu bạc18 Huy hiệu đồng6 silver badges18 bronze badges

0

Làm cách nào để đọc toàn bộ tệp văn bản trong Python?

Text = f. Read () (có thể thử những thứ này trong >>> phiên dịch, chạy python3 trong một thư mục có tệp văn bản trong đó chúng ta có thể đọc, chẳng hạn như thư mục "WordCount".) Đọc toàn bộ tệp thành 1 chuỗi - ít mã hơn và ít bận tâm hơn đi từng dòng. ....
dòng = f. Readlines () f. Readlines () Trả về một danh sách các chuỗi, 1 cho mỗi dòng ..

Làm thế nào một tệp văn bản có thể được đọc thành một chuỗi?

Sử dụng file.read () để đọc toàn bộ tệp đọc () để đọc một tệp văn bản mở thành một chuỗi. read() to read an entire file read() to read an open text file into a string.

Làm cách nào để nhận văn bản từ một tệp trong Python?

Để đọc tệp văn bản bằng Python, bạn làm theo các bước sau: Đầu tiên, hãy mở tệp văn bản để đọc bằng cách sử dụng hàm open ().() Phương thức của đối tượng tệp.Thứ ba, đóng tệp bằng phương thức đóng tệp ().open a text file for reading by using the open() function. Second, read text from the text file using the file read() , readline() , or readlines() method of the file object. Third, close the file using the file close() method.

Làm cách nào để mở một tệp và đọc tất cả các dòng trong Python?

Phương pháp 1: Đọc một dòng theo từng dòng bằng cách sử dụng readlines () readlines () được sử dụng để đọc tất cả các dòng trong một lần và sau đó trả về chúng dưới dạng mỗi dòng một phần tử chuỗi trong một danh sách.Hàm này có thể được sử dụng cho các tệp nhỏ, vì nó đọc toàn bộ nội dung tệp vào bộ nhớ, sau đó chia nó thành các dòng riêng biệt.using readlines() readlines() is used to read all the lines at a single go and then return them as each line a string element in a list. This function can be used for small files, as it reads the whole file content to the memory, then split it into separate lines.