Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

\n là một chuỗi thoát mà chỉ hoạt động trong các chuỗi chữ. input() không lấy một chuỗi theo nghĩa đen, nó lấy văn bản mà người dùng nhập và không thực hiện bất kỳ xử lý nào trên đó để bất kỳ ai nhập \ theo sau là

lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
0 tạo ra một chuỗi hai ký tự, dấu gạch chéo ngược và chữ
lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
0, chứ không phải dòng mới.

Bạn sẽ phải tự mình thực hiện việc tự thoát như vậy:

file = file.replace(r'\n', '\n')

Ở đây tôi đã sử dụng một chuỗi thô theo nghĩa đen, cũng không hỗ trợ thoát khỏi các chuỗi, để xác định dấu gạch chéo ngược theo nghĩa đen \ theo sau là

lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
0.

Ngoài ra, liên tục hỏi người dùng một tên tệp mới, cho đến khi chúng được thực hiện:

lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)

Demo:

>>> lines = []
>>> print('Type in your document, followed by a blank line:')
Type in your document, followed by a blank line:
>>> while True:
...     line = input("> ")
...     if not line:
...         break
...     lines.append(line)
...
> foo
> bar
>
>>> lines
['foo', 'bar']
>>> '\n'.join(lines)
'foo\nbar'

Xin chào các bạn, câu hỏi này đã được hỏi trước đây, nhưng câu trả lời thiên đường đã giúp tôi. Tôi muốn tách các dòng khi tôi tiếp tục điều khiển văn bản. Nhưng "\ n" chỉ đơn giản là không hoạt động. Tôi đang sử dụng Python 2.7, trên Windows 7. Vui lòng giúp đỡ. Tôi muốn hiển thị tất cả các tên tệp trên dòng tiếp theo, bất cứ khi nào người dùng thêm một tệp. Cảm ơn trước.
I want to seperate lines when i am appending the text control. But "\n" is simply not working .
I am using Python 2.7 , on Windows 7. Please help. I want to display all file names
on next line , whenever user adds a file . Thanks in advance.

Cũng lưu ý, nếu chúng ta tạo một văn bản,

>>> hello = "This is a rather long string containing\n\
several lines of text just as you would do in C.\n\
    Note that whitespace at the beginning of the line is\
 significant."
>>> hello
'This is a rather long string containing\nseveral lines of text just as you would do in C.\n    Note that whitespace at the beginning of the line is significant.'

Vì vậy, bạn có thể thấy ngay cả điều này không hoạt động với chuỗi cơ bản.

import wx

class TextFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, 'Text Entry Example', size=(500, 450))
        panel = wx.Panel(self, -1)
        menubar=wx.MenuBar()

#Menu section

        pehla=wx.Menu()
        doosra=wx.Menu()  #So there will be two drop down menu

#Menu Bar Items

        menu_1=menubar.Append(pehla,"File")    #Naming of Menu items
        menu_2=menubar.Append(doosra,"Edit")
        self.SetMenuBar(menubar)


#Menu Items
        
        item1_1=pehla.Append(wx.ID_OPEN,"Add","This is add files") #Sub-Items of First menu pull down list
        
        item1_2=pehla.Append(wx.ID_EXIT,"Exit","This will exit app") #The last comment will show on status bar when mouse is on that option

        self.Bind(wx.EVT_MENU, self.OnFileOpen,item1_1)
        #multiLabel = wx.StaticText(panel, -1, "Multi-line")
        self.Bind(wx.EVT_MENU, self.OnFileExit,item1_2)
#Text boxes
        Search_Text = wx.TextCtrl(panel, -1,"Enter search string",pos=(5,5),size=(350,30), style=wx.ALIGN_LEFT)
        Search_Text.SetInsertionPoint(0)

        mytext="\n"
        self.Files_List = wx.TextCtrl(panel, -1,mytext,size=wx.Size(400,100),pos=(5,40),style=wx.TE_READONLY)
        Search_Text.SetInsertionPoint(0)


#Seacrh Button
        
        btn_Process = wx.Button(panel,-1,label='Search',pos=(360,5))
        self.Bind(wx.EVT_BUTTON, self.Process, btn_Process)


#Function Definations

        
    def OnFileOpen(self, e):
        """ File|Open event - Open dialog box. """
        self.dirname = ''
        dlg = wx.FileDialog(self, "Choose a file", self.dirname, "", "*.xls*")
        if (dlg.ShowModal() == wx.ID_OK):
            
            self.fileName = dlg.GetFilename()
            self.dirName = dlg.GetDirectory()
            text1=str(self.fileName)
                       
            self.Files_List.AppendText(text1+"\n")            


            
    def OnFileExit(self, e):
        """ File|Exit event """
        self.Close(True)
    def Process(self,event):
        print"This is a test"




app = wx.PySimpleApp()
frame = TextFrame()
frame.Show()
app.MainLoop()

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Chào mừng! Nhân vật dòng mới trong Python được sử dụng để đánh dấu phần cuối của một dòng và bắt đầu một dòng mới. Biết cách sử dụng nó là điều cần thiết nếu bạn muốn in đầu ra vào bảng điều khiển và làm việc với các tệp.The new line character in Python is used to mark the end of a line and the beginning of a new line. Knowing how to use it is essential if you want to print output to the console and work with files.

Trong bài viết này, bạn sẽ học:

  • Làm thế nào để xác định ký tự dòng mới trong Python.
  • Làm thế nào các ký tự dòng mới có thể được sử dụng trong các chuỗi và báo cáo in.
  • Cách bạn có thể viết các câu lệnh in không thêm ký tự dòng mới vào cuối chuỗi.

Hãy bắt đầu nào! ✨

🔹 Nhân vật dòng mới

Nhân vật dòng mới trong Python là:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Nó được làm bằng hai ký tự:

  • Một dấu gạch chéo ngược.
  • Thư
    lines = []
    print('Type in your document, followed by a blank line:')
    while True:
        line = input("> ")
        if not line:
            break
        lines.append(line)
    file = '\n'.join(lines)
    
    0.

Nếu bạn thấy ký tự này trong một chuỗi, điều đó có nghĩa là dòng hiện tại kết thúc tại điểm đó và một dòng mới bắt đầu ngay sau khi nó:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Bạn cũng có thể sử dụng ký tự này trong F-String:f-strings:

>>> print(f"Hello\nWorld!")

Nhân vật dòng mới trong các câu lệnh in

Theo mặc định, các câu lệnh in thêm một ký tự dòng mới "phía sau hậu trường" ở cuối chuỗi.

Như thế này:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Điều này xảy ra bởi vì, theo tài liệu Python:

Giá trị mặc định của tham số

lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
5 của hàm
lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
6 tích hợp là \n, do đó, một ký tự dòng mới được thêm vào chuỗi.

Mẹo: ỨNG DỤNG có nghĩa là "Thêm vào cuối". Append means "add to the end".

Đây là định nghĩa chức năng:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Lưu ý rằng giá trị của

lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
5 là \n, vì vậy điều này sẽ được thêm vào cuối chuỗi.

Nếu bạn chỉ sử dụng một câu lệnh in, bạn sẽ không nhận thấy điều này vì chỉ có một dòng sẽ được in:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Nhưng nếu bạn sử dụng một số câu lệnh in hết trong tập lệnh Python:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Đầu ra sẽ được in bằng các dòng riêng biệt vì \n đã được thêm "phía sau hậu trường" vào cuối mỗi dòng:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Chúng ta có thể thay đổi hành vi mặc định này bằng cách tùy chỉnh giá trị của tham số

lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
5 của hàm
lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
6.

Nếu chúng ta sử dụng giá trị mặc định trong ví dụ này:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Chúng tôi thấy đầu ra được in thành hai dòng:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Nhưng nếu chúng ta tùy chỉnh giá trị của

lines = []
print('Type in your document, followed by a blank line:')
while True:
    line = input("> ")
    if not line:
        break
    lines.append(line)
file = '\n'.join(lines)
5 và đặt nó thành
>>> lines = []
>>> print('Type in your document, followed by a blank line:')
Type in your document, followed by a blank line:
>>> while True:
...     line = input("> ")
...     if not line:
...         break
...     lines.append(line)
...
> foo
> bar
>
>>> lines
['foo', 'bar']
>>> '\n'.join(lines)
'foo\nbar'
4

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Một không gian sẽ được thêm vào cuối chuỗi thay vì ký tự dòng mới \n, do đó, đầu ra của hai câu lệnh in sẽ được hiển thị trong cùng một dòng:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Bạn có thể sử dụng điều này để in một chuỗi các giá trị trong một dòng, như trong ví dụ này:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Đầu ra là:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi. We add a conditional statement to make sure that the comma will not be added to the last number of the sequence.

Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Đầu ra là:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi.

Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

🔸 ký tự dòng mới trong các tệp

with open("names.txt", "r") as f:
    print(f.readlines())

Đầu ra là:

Hướng dẫn why n is not working in python? - tại sao n không hoạt động trong python?

Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi.

Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:Notice that only the last line of the file doesn't end with a new line character.

🔸 ký tự dòng mới trong các tệp

  • Ký tự dòng mới \n cũng được tìm thấy trong các tệp, nhưng nó là "ẩn". Khi bạn thấy một dòng mới trong một tệp văn bản, một ký tự dòng mới \n đã được chèn.
  • Bạn có thể kiểm tra điều này bằng cách đọc tệp với
    >>> lines = []
    >>> print('Type in your document, followed by a blank line:')
    Type in your document, followed by a blank line:
    >>> while True:
    ...     line = input("> ")
    ...     if not line:
    ...         break
    ...     lines.append(line)
    ...
    > foo
    > bar
    >
    >>> lines
    ['foo', 'bar']
    >>> '\n'.join(lines)
    'foo\nbar'
    
    8, như thế này:

Như bạn có thể thấy, ba dòng đầu tiên của tệp văn bản kết thúc với một nhân vật \n mới hoạt động "phía sau hậu trường".Now you can work with the new line character in Python.

Mẹo: Lưu ý rằng chỉ dòng cuối cùng của tệp không kết thúc bằng ký tự dòng mới.



Tóm tắt

Tại sao N không hoạt động trong Python?

\ n là ký tự dòng mới.Nếu bạn đang mong đợi \ n trong chuỗi của mình thì bạn đã sai.\ n là khoảng trắng bạn nhận được khi bạn nhấn trả về trong một tài liệu.Nhưng bạn có thể sử dụng một chuỗi thô: RTHER \ n, sẽ là \ n chứ không phải là dòng mới.If you are expecting \n in your string then you are wrong. \n is the whitespace you get like when you press return in a document. But you can use a raw strings: r”\n” will be \n rather than newline.

N hoạt động trong Python?

Nhân vật Newline trong Python: Trong Python, nhân vật dòng mới \ n, được sử dụng để tạo ra một dòng mới.Khi được chèn vào một chuỗi, tất cả các ký tự sau khi ký tự được thêm vào một dòng mới.the new line character “\n” is used to create a new line. When inserted in a string all the characters after the character are added to a new line.

Bạn có thể đặt \ n trong một chuỗi không?

Nhân vật Newline là \ n trong JavaScript và nhiều ngôn ngữ khác.Tất cả những gì bạn cần làm là thêm ký tự \ n bất cứ khi nào bạn yêu cầu ngắt dòng để thêm một dòng mới vào một chuỗi.add \n character whenever you require a line break to add a new line to a string.

[: N có nghĩa là gì trong Python?

Trong Python, \ n là một loại ký tự thoát sẽ tạo ra một dòng mới khi được sử dụng.