Hướng dẫn write new line python - viết dòng trăn mới

Tôi muốn nối một dòng mới vào chuỗi của mình mỗi khi tôi gọi

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
9. Cách dễ nhất để làm điều này trong Python là gì?

Nội phân chính

  • Trang web này tạm thời ở chế độ chỉ đọc và không chấp nhận câu trả lời mới.
  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ.
  • Làm thế nào để bạn viết vào dòng tiếp theo trong một tệp văn bản trong Python?
  • Làm thế nào để bạn thêm văn bản vào một txt trong python?
  • Làm thế nào để bạn viết nhiều dòng trong một tệp văn bản trong Python?
  • Làm thế nào để bạn viết vào một tệp hiện có trong Python?

Hướng dẫn write new line python - viết dòng trăn mới

Alex

5,8699 Huy hiệu vàng48 Huy hiệu bạc99 Huy hiệu đồng9 gold badges48 silver badges99 bronze badges

Khi được hỏi ngày 27 tháng 5 năm 2010 lúc 3:56May 27, 2010 at 3:56

Sử dụng "\ n":

file.write("My String\n")

Xem hướng dẫn Python để tham khảo.

James MV

8.43116 Huy hiệu vàng63 Huy hiệu bạc92 Huy hiệu Đồng16 gold badges63 silver badges92 bronze badges

Đã trả lời ngày 27 tháng 5 năm 2010 lúc 3:59May 27, 2010 at 3:59

Halfanhalfdanhalfdan

32,7k8 Huy hiệu vàng76 Huy hiệu bạc86 Huy hiệu đồng8 gold badges76 silver badges86 bronze badges

4

Bạn có thể làm điều này theo hai cách:

f.write("text to write\n")

Hoặc, tùy thuộc vào phiên bản Python của bạn (2 hoặc 3):

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x

Đã trả lời ngày 27 tháng 5 năm 2010 lúc 3:58May 27, 2010 at 3:58

Greg Hewgillgreg HewgillGreg Hewgill

907K177 Huy hiệu vàng1131 Huy hiệu bạc1267 Huy hiệu đồng177 gold badges1131 silver badges1267 bronze badges

3

Bạn có thể dùng:

file.write(your_string + '\n')

TOT ZAM

7.9699 Huy hiệu vàng49 Huy hiệu bạc72 Huy hiệu đồng9 gold badges49 silver badges72 bronze badges

Đã trả lời ngày 27 tháng 5 năm 2010 lúc 4:00May 27, 2010 at 4:00

Krishna Kkrishna kKrishna K

1.8151 Huy hiệu vàng14 Huy hiệu bạc11 Huy hiệu đồng1 gold badge14 silver badges11 bronze badges

2

Nếu bạn sử dụng nó rộng rãi (rất nhiều dòng viết), bạn có thể phân lớp 'tệp':

class cfile(file):
    #subclass file to have a more convienient use of writeline
    def __init__(self, name, mode = 'r'):
        self = file.__init__(self, name, mode)

    def wl(self, string):
        self.writelines(string + '\n')

Bây giờ nó cung cấp một chức năng bổ sung WL thực hiện những gì bạn muốn:

with cfile('filename.txt', 'w') as fid:
    fid.wl('appends newline charachter')
    fid.wl('is written on a new line')

Có lẽ tôi đang thiếu một cái gì đó giống như các ký tự mới khác nhau (\ n, \ r, ...) hoặc dòng cuối cùng cũng bị chấm dứt với một dòng mới, nhưng nó hoạt động với tôi.

Đã trả lời ngày 12 tháng 6 năm 2014 lúc 12:02Jun 12, 2014 at 12:02

Mathausemathausemathause

1.4571 Huy hiệu vàng14 Huy hiệu bạc24 Huy hiệu đồng1 gold badge14 silver badges24 bronze badges

2

Bạn có thể làm:

file.write(your_string + '\n')

Theo đề xuất của một câu trả lời khác, nhưng tại sao sử dụng kết nối chuỗi (chậm, dễ bị lỗi) khi bạn có thể gọi

file.write(your_string + '\n')
0 hai lần:

file.write(your_string)
file.write("\n")

Lưu ý rằng các văn bản được đệm để nó tương tự.

Đã trả lời ngày 3 tháng 3 năm 2019 lúc 14:42Mar 3, 2019 at 14:42

Một giải pháp khác ghi từ danh sách sử dụng FSTRING

lines = ['hello','world']
with open('filename.txt', "w") as fhandle:
  for line in lines:
    fhandle.write(f'{line}\n')

Và như một chức năng

def write_list(fname, lines):
    with open(fname, "w") as fhandle:
      for line in lines:
        fhandle.write(f'{line}\n')

write_list('filename.txt', ['hello','world'])

Đã trả lời ngày 12 tháng 1 năm 2020 lúc 21:08Jan 12, 2020 at 21:08

CityNormancitynormancitynorman

4.4102 Huy hiệu vàng34 Huy hiệu bạc37 Huy hiệu Đồng2 gold badges34 silver badges37 bronze badges

0

f.write("text to write\n")
0

hoặc

f.write("text to write\n")
1

Đã trả lời ngày 24 tháng 1 năm 2018 lúc 14:49Jan 24, 2018 at 14:49

1

Trừ khi ghi vào các tập tin nhị phân, sử dụng in. Dưới đây ví dụ tốt để định dạng các tệp CSV:

f.write("text to write\n")
2

Usage:

f.write("text to write\n")
3

Bạn cũng có thể sử dụng

file.write(your_string + '\n')
1 như một cách pythonic hơn để tạo ra loại giấy gói này. Trong ví dụ dưới đây,
file.write(your_string + '\n')
2 là
file.write(your_string + '\n')
3 với các kwarg được xác định trước.

f.write("text to write\n")
4

Notes:

  • Tài liệu in
  • file.write(your_string + '\n')
    
    4 - https://pyformat.info/, PEP -3101
  • '\ t' - ký tự tab
  • file.write(your_string + '\n')
    
    5 Trong định nghĩa chức năng - gửi bất kỳ số lượng đối số nào để liệt kê - xem câu hỏi trên *args & ** kwargs

Đã trả lời ngày 16 tháng 4 năm 2019 lúc 20:58Apr 16, 2019 at 20:58

MescomescoMesco

1.05712 Huy hiệu bạc17 Huy hiệu đồng12 silver badges17 bronze badges

Chỉ cần một lưu ý,

file.write(your_string + '\n')
6 không được hỗ trợ trong
file.write(your_string + '\n')
7 và đã bị xóa. Bạn có thể làm tương tự với chức năng tích hợp
file.write(your_string + '\n')
8.

f.write("text to write\n")
5

Đã trả lời ngày 21 tháng 1 năm 2018 lúc 9:00Jan 21, 2018 at 9:00

user1767754user1767754user1767754

21.8K14 Huy hiệu vàng133 Huy hiệu bạc153 Huy hiệu đồng14 gold badges133 silver badges153 bronze badges

Tôi thực sự không muốn gõ

file.write(your_string + '\n')
9 mỗi lần và câu trả lời của @Matthause dường như không hiệu quả với tôi, vì vậy tôi đã tạo ra lớp học của riêng mình

f.write("text to write\n")
6

Và ở đây nó được thực hiện

f.write("text to write\n")
7

Điều này sẽ hiển thị trong tệp nhật ký là

f.write("text to write\n")
8

Đã trả lời ngày 2 tháng 12 năm 2020 lúc 21:20Dec 2, 2020 at 21:20

Joshjoshjosh

3541 Huy hiệu bạc16 Huy hiệu đồng1 silver badge16 bronze badges

Sử dụng

class cfile(file):
    #subclass file to have a more convienient use of writeline
    def __init__(self, name, mode = 'r'):
        self = file.__init__(self, name, mode)

    def wl(self, string):
        self.writelines(string + '\n')
0 với
class cfile(file):
    #subclass file to have a more convienient use of writeline
    def __init__(self, name, mode = 'r'):
        self = file.__init__(self, name, mode)

    def wl(self, string):
        self.writelines(string + '\n')
1 trên câu lệnh
class cfile(file):
    #subclass file to have a more convienient use of writeline
    def __init__(self, name, mode = 'r'):
        self = file.__init__(self, name, mode)

    def wl(self, string):
        self.writelines(string + '\n')
2 có vẻ dễ dàng hơn đối với tôi:

f.write("text to write\n")
9

Đã trả lời ngày 12 tháng 5 năm 2021 lúc 11:31May 12, 2021 at 11:31

Nwoye Cidnwoye CidNwoye CID

6687 Huy hiệu bạc8 Huy hiệu Đồng7 silver badges8 bronze badges

Đây là giải pháp mà tôi đã đưa ra việc cố gắng giải quyết vấn đề này cho bản thân mình để sản xuất một cách có hệ thống các thiết bị phân cách. Nó viết bằng cách sử dụng một danh sách các chuỗi trong đó mỗi chuỗi là một dòng của tệp, tuy nhiên có vẻ như nó cũng có thể hoạt động với bạn. (Python 3.+)

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
0

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

Democidistdemocidistdemocidist

951 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges

1

Ok, đây là một cách an toàn để làm điều đó.

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
1

Điều này viết 1 đến 10 mỗi số trên một dòng mới.

Đã trả lời ngày 18 tháng 1 năm 2021 lúc 17:25Jan 18, 2021 at 17:25

Bạn có thể trang trí phương thức Viết ở nơi cụ thể mà bạn cần hành vi này:

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
2

Đã trả lời ngày 23 tháng 3 năm 2021 lúc 14:54Mar 23, 2021 at 14:54

Thông thường bạn sẽ sử dụng

file.write(your_string + '\n')
9 nhưng vì bất kỳ lý do gì trong cá nhân Visual Studio Code 2019, nó sẽ không hoạt động. Nhưng bạn có thể sử dụng điều này:

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
3

Đã trả lời ngày 11 tháng 8 năm 2021 lúc 3:10Aug 11, 2021 at 3:10

Nếu viết là một cuộc gọi lại, bạn có thể cần một writeln tùy chỉnh.

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
4

Chính nó bên trong một dụng cụ mở tùy chỉnh. Xem câu trả lời và phản hồi cho câu hỏi này: Các đối tượng tệp phân lớp (để mở rộng các hoạt động mở và đóng) trong Python 3

(Trình quản lý bối cảnh)

Tôi đã phải đối mặt với điều này khi sử dụng ftplib để "truy xuất các dòng" từ một tệp "dựa trên bản ghi" (fb80):

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
5

Và kết thúc với một kỷ lục dài không có Newlines, đây có thể là một vấn đề với ftplib, nhưng tối nghĩa.

Vì vậy, điều này đã trở thành:

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
6

Nó làm công việc. Đây là một trường hợp sử dụng mà một vài người sẽ tìm kiếm.

Tuyên bố đầy đủ (chỉ hai dòng cuối cùng là của tôi):

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
7

Đã trả lời ngày 8 tháng 11 năm 2021 lúc 0:10Nov 8, 2021 at 0:10

McKenzmmckenzmmckenzm

1.2091 Huy hiệu vàng10 Huy hiệu bạc17 Huy hiệu đồng1 gold badge10 silver badges17 bronze badges

Để mạnh mẽ, sử dụng nhiều hệ điều hành:

class cfile(file):
    #subclass file to have a more convienient use of writeline
    def __init__(self, name, mode = 'r'):
        self = file.__init__(self, name, mode)

    def wl(self, string):
        self.writelines(string + '\n')
4

Đã trả lời ngày 15 tháng 3 lúc 12:48Mar 15 at 12:48

Assaf-geAssaf-geAssaf-ge

4164 Huy hiệu bạc6 Huy hiệu đồng4 silver badges6 bronze badges

Bạn có thể sử dụng định dạng chuỗi kiểu C:

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x
8

Thêm về định dạng chuỗi.

Đã trả lời ngày 1 tháng 6 lúc 23:48Jun 1 at 23:48

Trang web này tạm thời ở chế độ chỉ đọc và không chấp nhận câu trả lời mới.

Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ.

Làm thế nào để bạn viết vào dòng tiếp theo trong một tệp văn bản trong Python?

Nhân vật dòng mới trong Python là \ n. Nó được sử dụng để chỉ ra sự kết thúc của một dòng văn bản. Bạn có thể in các chuỗi mà không cần thêm một dòng mới có kết thúc =, đó là ký tự sẽ được sử dụng để tách các dòng.\n . It is used to indicate the end of a line of text. You can print strings without adding a new line with end = , which is the character that will be used to separate the lines.

Làm thế nào để bạn thêm văn bản vào một txt trong python?

Chụp dữ liệu vào một tệp như một dòng mới trong Python..

Mở tệp ở chế độ phụ lục ('A'). Viết điểm con trỏ vào cuối tệp ..

Nối '\ n' ở cuối tệp bằng hàm write () ..

Nối dòng đã cho vào tệp bằng hàm write () ..

Đóng tệp ..

Làm thế nào để bạn viết nhiều dòng trong một tệp văn bản trong Python?

Sử dụng writeLines () để ghi nhiều dòng vào một tệp Thêm ký tự mới "\ n" vào cuối mỗi chuỗi để ghi chúng trên các dòng riêng biệt, nếu không kết quả sẽ nằm trong một dòng. to write multiple lines to a file Add the newline character "\n" to the end of each string to write them on separate lines, otherwise the result will be in a single line.

Làm thế nào để bạn viết vào một tệp hiện có trong Python?

Tóm lại, bất kỳ dữ liệu nào cũng có thể được đọc bởi Python. Bạn có thể sử dụng hàm mở (tên tệp, chế độ) để mở tệp. Có một tập hợp các chế độ mở tập tin. Để viết trong một tệp hiện có, bạn phải mở tệp ở chế độ nối ("A"), nếu tệp không tồn tại, tệp sẽ được tạo.open the file in append mode("a") , if the file does not exist, the file will be created.