Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在print()调用中神秘出现不希望出现的换行符_Python_Line Breaks - Fatal编程技术网

Python 在print()调用中神秘出现不希望出现的换行符

Python 在print()调用中神秘出现不希望出现的换行符,python,line-breaks,Python,Line Breaks,我正在打印一些变量,如下所示: print("First name:", first_name) print("Last name:", last_name) print("Password:", password) Password:<the password> 前两个显示得很好,但最后一个是这样的: print("First name:", first_name) print("Last name:", last_name) print("Password:", passwo

我正在打印一些变量,如下所示:

print("First name:", first_name)
print("Last name:", last_name)
print("Password:", password)
Password:<the password>
前两个显示得很好,但最后一个是这样的:

print("First name:", first_name)
print("Last name:", last_name)
print("Password:", password)
Password:<the password>
密码: 这是不可取的,与其他的不一致,这就是为什么我希望它看起来像这样:

print("First name:", first_name)
print("Last name:", last_name)
print("Password:", password)
Password:<the password>

使用end=没有帮助。

尝试将密码转换为打印函数中的字符串

print("password:",str(password))
密码变量包含换行符或其字符串表示形式不包含换行符

这些格式化方法中的任何一种都将打印不带换行符的内联字符串变量:

>>> password = "blarf"
>>> print("password:", password)
password: blarf
>>> print(f"password: {password}")
password: blarf
但是,如果变量包含换行符,则输出中将出现换行符:

>>> password = "\nblarf"
>>> print("password:", password)
password:
blarf
尝试:

密码变量内容前面可能有换行符。脱衣舞可以摆脱它。请注意,它还删除密码中字符串前后的所有空格,包括空格前后。如果只希望删除前后的换行符,请使用:

print("password:",password.strip("\n"))

尝试删除密码字符串中存在的任何换行符

您可以使用以下方法执行此操作:

first_name = "david"
last_name = "s"
password = "\n1234"
print("firstname:",first_name)
print("lastname:",last_name)
print("password:",password)
# firstname: david
# lastname: s
# password: 
# 1234


# removing the new line
password = password.replace("\n","")
print("firstname:",first_name)
print("lastname:",last_name)
print("password:",password)
# firstname: david
# lastname: s
# password: 1234

import re
re.sub("\n", "", password)
print("firstname:",first_name)
print("lastname:",last_name)
print("password:",password)
# firstname: david
# lastname: s
# password: 1234
第一个选项是使用字符串对象的替换方法,您可以在以下链接中了解该方法:

第二个选项是使用re模块的子模块,您可以在以下链接中阅读:
多亏了Samwise,我成功地解决了问题,我使用了:

password.splitlines()
password = password[1]
print("password:",password)
大卫的方法也很好

password = password.replace("\n","")
print("password:",password)

密码本身是否以换行符开头?这是全部代码吗?密码是什么?这能回答你的问题吗@Samwise无密码不以密码开头linebreak@DavidS不,这不是完整的代码,password保存着由这个url创建的一个生成的密码:我用bs4Yes获取;这并不重要,因为你在密码变量中有一个断线。这些方法会删除密码中所有的N个出现,甚至是字符串中间的所有。@ EHSAN同意,但是看看每个可能答案的OP注释,我认为这就是他所需要的;他似乎没有注意到密码中存在的\n错误。我无意批评您的解决方案。把它放在那里让读者注意。@Ehsan我不这么认为。只是解释我的理由