Hướng dẫn python read whole file as string - python đọc toàn bộ tệp dưới dạng chuỗi
1272 Show 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. Tôi có một tệp văn bản trông giống như:
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 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ỏ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:
Hoặc nếu nội dung tệp được đảm bảo là một dòng
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:
Và sau đó bạn có thể sử dụng str.replace để loại bỏ các dòng mới:
Đã trả lời ngày 29 tháng 3 năm 2018 lúc 20:26Mar 29, 2018 at 20:26
3 Bạn có thể đọc từ một tệp trong một dòng:
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 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:
Đã trả lời ngày 21 tháng 3 năm 2015 lúc 3:10Mar 21, 2015 at 3:10
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
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 ():
Hoặc vì bản thân chế độ mặc định là 'r' (đọc) vì vậy chỉ cần sử dụng,
Đã 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 3. 0Biến 4 hiện là một danh sách trông như thế này khi được in: 1Lưu ý không có Newlines ( 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: 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
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 6 kết hợp với 7. Không có 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. 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
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 6 kết hợp với 7. Không có 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. 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: 5Đã trả lời ngày 3 tháng 12 năm 2011 lúc 16:51Mar 31 at 13:40
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: 6Đã trả lời ngày 31 tháng 3 lúc 13:40 7Xe Carmy của tôi 81.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ã !!! 9Nếu tệp của bạn có nội dung:
Đầ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. 0OrionmdAug 23, 2018 at 15:33
1 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
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 6 kết hợp với 7. Không có 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:46WhirlwinwhirlwinNov 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:
47.2K12 Huy hiệu vàng80 Huy hiệu bạc118 Huy hiệu đồng
Đã trả lời ngày 31 tháng 3 lúc 13:40Aug 28, 2021 at 8:38
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ã !!! 3
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
1 Để loại bỏ các lần ngắt dòng bằng Python, bạn có thể sử dụng hàm 1 của chuỗi.Ví dụ này loại bỏ tất cả 3 loại ngắt dòng: 4Tệp ví dụ là: 5Bạ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 Đã trả lời ngày 31 tháng 10 năm 2019 lúc 19:12Oct 31, 2019 at 19:12
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
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. 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: 7
Đã 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 8Đã trả lời ngày 27 tháng 7 năm 2021 lúc 9:32Jul 27, 2021 at 9:32
0 9Là 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 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: 0 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? 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: 2Then: 3Điều này tạo ra một danh sách có tên 4 bằng: 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: 5Or: 6Điều này trả về: 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 8Mã 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
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: 0THẬN TRỌNG: Nó không loại bỏ 5. Nó chỉ là để xem văn bản như thể không có 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. |