32
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.
Giả sử chúng ta có nhiều tệp văn bản như sau:
File1:
abc
def
ghi
file2:
ABC
DEF
GHI
file3:
adfafa
file4:
ewrtwe
rewrt
wer
wrwe
Làm thế nào chúng ta có thể tạo một tệp văn bản như bên dưới:
result:
abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
Mã liên quan có thể là:
import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
Sau đây? Bất kỳ trợ giúp?
cs95
349K87 Huy hiệu vàng642 Huy hiệu bạc692 Huy hiệu Đồng87 gold badges642 silver badges692 bronze badges
hỏi ngày 19 tháng 7 năm 2013 lúc 14:46Jul 19, 2013 at 14:46
2
Bạn có thể đọc nội dung của từng tệp trực tiếp vào phương thức ghi của xử lý tệp đầu ra như thế này:
import glob
read_files = glob.glob["*.txt"]
with open["result.txt", "wb"] as outfile:
for f in read_files:
with open[f, "rb"] as infile:
outfile.write[infile.read[]]
Đã trả lời ngày 19 tháng 7 năm 2013 lúc 14:59Jul 19, 2013 at 14:59
Apiguyapiguyapiguy
5.2441 Huy hiệu vàng22 Huy hiệu bạc24 Huy hiệu đồng1 gold badge22 silver badges24 bronze badges
6
Mô -đun
ABC
DEF
GHI
1 được thiết kế hoàn hảo cho trường hợp sử dụng này.import fileinput
import glob
file_list = glob.glob["*.txt"]
with open['result.txt', 'w'] as file:
input_lines = fileinput.input[file_list]
file.writelines[input_lines]
Đã trả lời ngày 19 tháng 7 năm 2013 lúc 15:01Jul 19, 2013 at 15:01
llbllbllb
1.60110 Huy hiệu bạc14 Huy hiệu đồng10 silver badges14 bronze badges
2
Bạn có thể thử một cái gì đó như thế này:
import glob
files = glob.glob[ '*.txt' ]
with open[ 'result.txt', 'w' ] as result:
for file_ in files:
for line in open[ file_, 'r' ]:
result.write[ line ]
Nên thẳng về phía trước để đọc.
Đã trả lời ngày 19 tháng 7 năm 2013 lúc 14:58Jul 19, 2013 at 14:58
Cũng có thể kết hợp các tệp bằng cách kết hợp các lệnh HĐH. Thí dụ:
import os
import subprocess
subprocess.call["cat *.csv > /path/outputs.csv"]
Knak
4873 Huy hiệu bạc14 Huy hiệu đồng3 silver badges14 bronze badges
Đã trả lời ngày 17 tháng 5 năm 2016 lúc 10:46May 17, 2016 at 10:46
SadheeshsadheeshSadheesh
8277 Huy hiệu bạc6 Huy hiệu Đồng7 silver badges6 bronze badges
2
ABC
DEF
GHI
0
Celeo
5.4458 Huy hiệu vàng41 Huy hiệu bạc41 Huy hiệu đồng8 gold badges41 silver badges41 bronze badges
Đã trả lời ngày 4 tháng 6 năm 2015 lúc 16:20Jun 4, 2015 at 16:20
2
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
ĐọcReading and writing to a file.
Bàn luận
- Điều kiện tiên quyết: Đọc và ghi vào một tập tin.
- Đặt hai tệp đã cho là
2andABC DEF GHI
3. Nhiệm vụ của chúng tôi là hợp nhất cả hai tệp thành tệp thứ ba nói File3.txt. Sau đây là các bước để hợp nhất.ABC DEF GHI
- Mở tệp1.txt và File2.txt ở chế độ đọc.
- Mở tệp3.txt trong chế độ ghi.
- Đọc dữ liệu từ File1 và thêm nó trong một chuỗi.
- Đọc dữ liệu từ File2 và nối dữ liệu của tệp này đến chuỗi trước.
Viết dữ liệu từ chuỗi sang File3 To successfully run the below program file1.txt and file2.txt must exist in the same folder.
Đóng tất cả các tệp
file1.txt
file2.txt
Lưu ý: Để chạy thành công chương trình bên dưới File1.txt và File2.txt phải tồn tại trong cùng một thư mục.
Giả sử các tệp văn bản
ABC
DEF
GHI
2and ABC
DEF
GHI
3 chứa các dữ liệu sau.adfafa
1adfafa
2adfafa
3adfafa
4adfafa
5Dưới đây là việc thực hiện.
adfafa
1adfafa
2adfafa
3ewrtwe
rewrt
wer
wrwe
3adfafa
5ABC
DEF
GHI
6ABC
DEF
GHI
7 ABC
DEF
GHI
8ABC
DEF
GHI
7 adfafa
0adfafa
6ABC
DEF
GHI
6ABC
DEF
GHI
7 adfafa
9
adfafa
6ABC
DEF
GHI
8ABC
DEF
GHI
7 adfafa
9ABC
DEF
GHI
6abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
0ABC
DEF
GHI
7 abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
2adfafa
6import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
5Output:
ABC
DEF
GHI
6abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
0ABC
DEF
GHI
7 abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
6
ABC
DEF
GHI
abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
ABC
DEF
GHI
abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
adfafa
1adfafa
2 adfafa
3import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
0import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
1import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
22525- Sử dụng cho vòng lặp
- Cách tiếp cận trên có thể được rút ngắn bằng cách sử dụng cho vòng lặp. Sau đây là các bước để hợp nhất.
- Tạo một danh sách chứa tên tệp.
- Mở File3 ở chế độ ghi.
- Đọc dữ liệu từ File2 và nối dữ liệu của tệp này đến chuỗi trước.
Lưu ý: Để chạy thành công chương trình bên dưới File1.txt và File2.txt phải tồn tại trong cùng một thư mục.
Giả sử các tệp văn bản
ABC
DEF
GHI
2and ABC
DEF
GHI
3 chứa các dữ liệu sau.adfafa
1adfafa
2adfafa
3import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
0import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
1import csv
import glob
files = glob.glob['*.txt']
for file in files:
with open['result.txt', 'w'] as result:
result.write[str[file]+'\n']
2import glob
read_files = glob.glob["*.txt"]
with open["result.txt", "wb"] as outfile:
for f in read_files:
with open[f, "rb"] as infile:
outfile.write[infile.read[]]
9Dưới đây là việc thực hiện.
import fileinput
import glob
file_list = glob.glob["*.txt"]
with open['result.txt', 'w'] as file:
input_lines = fileinput.input[file_list]
file.writelines[input_lines]
5adfafa
1adfafa
2import fileinput
import glob
file_list = glob.glob["*.txt"]
with open['result.txt', 'w'] as file:
input_lines = fileinput.input[file_list]
file.writelines[input_lines]
8
import fileinput
import glob
file_list = glob.glob["*.txt"]
with open['result.txt', 'w'] as file:
input_lines = fileinput.input[file_list]
file.writelines[input_lines]
9import glob
files = glob.glob[ '*.txt' ]
with open[ 'result.txt', 'w' ] as result:
for file_ in files:
for line in open[ file_, 'r' ]:
result.write[ line ]
0import fileinput
import glob
file_list = glob.glob["*.txt"]
with open['result.txt', 'w'] as file:
input_lines = fileinput.input[file_list]
file.writelines[input_lines]
5import glob
files = glob.glob[ '*.txt' ]
with open[ 'result.txt', 'w' ] as result:
for file_ in files:
for line in open[ file_, 'r' ]:
result.write[ line ]
2abc
def
ghi
ABC
DEF
GHI
adfafa
ewrtwe
rewrt
wer
wrwe
2import glob
files = glob.glob[ '*.txt' ]
with open[ 'result.txt', 'w' ] as result:
for file_ in files:
for line in open[ file_, 'r' ]:
result.write[ line ]
4Output: