Python file.write() 正在连接字符串中的变量后添加一个额外的换行符
Python file.write() is adding an extra newline after a variable in a concatenated string
我一直在努力解决这个问题。我写了:
file.write("pyautogui.write(" + "'" + textEntry + "'" + ")")
但是在写入的文件中,写入了以下内容:
pyautogui.write('test
')
我希望所有内容都在一条线上。有谁知道这是什么原因?我试过修复它,但无济于事。
您的 textEntry
变量末尾可能有一个换行符。
如果您想这样做,您应该尝试从字符串末尾去除换行符和空格,例如:
file.write("pyautogui.write(" + "'" + textEntry.rstrip() + "'" + ")")
这里有一些关于 rstrip 的更多信息:
我觉得你的textEntry
就是这样
textEntry = '''
text
'''
所以它有一个换行符。尝试删除它并简单地写
`textEntry='text'`
这里发生的事情是 textEntry 变量的末尾可能有一个 \n 字符,解决这个问题的一个简单方法是使用 strip()。此外,通常建议使用 f-Strings 而不是每次都执行 +。解决方法如下:
file.write(f"pyautogui.write('{textEntry.strip()}')")
由于 textEntry
字符串中始终会有一个尾随换行符 (\n
),您所要做的就是使用省略字符串中最后一个字符的切片:
file.write("pyautogui.write(" + "'" + textEntry[:-1] + "'" + ")")
您还可以使用 Python 格式化字符串:
file.write(f"pyautogui.write('{textEntry[:-1]}')")
我一直在努力解决这个问题。我写了:
file.write("pyautogui.write(" + "'" + textEntry + "'" + ")")
但是在写入的文件中,写入了以下内容:
pyautogui.write('test
')
我希望所有内容都在一条线上。有谁知道这是什么原因?我试过修复它,但无济于事。
您的 textEntry
变量末尾可能有一个换行符。
如果您想这样做,您应该尝试从字符串末尾去除换行符和空格,例如:
file.write("pyautogui.write(" + "'" + textEntry.rstrip() + "'" + ")")
这里有一些关于 rstrip 的更多信息:
我觉得你的textEntry
就是这样
textEntry = '''
text
'''
所以它有一个换行符。尝试删除它并简单地写
`textEntry='text'`
这里发生的事情是 textEntry 变量的末尾可能有一个 \n 字符,解决这个问题的一个简单方法是使用 strip()。此外,通常建议使用 f-Strings 而不是每次都执行 +。解决方法如下:
file.write(f"pyautogui.write('{textEntry.strip()}')")
由于 textEntry
字符串中始终会有一个尾随换行符 (\n
),您所要做的就是使用省略字符串中最后一个字符的切片:
file.write("pyautogui.write(" + "'" + textEntry[:-1] + "'" + ")")
您还可以使用 Python 格式化字符串:
file.write(f"pyautogui.write('{textEntry[:-1]}')")