如何在python中显示感官字符串

如何在python中显示感官字符串,python,Python,因此,我有一个包含如下内容的文件,其中混合了感官数据和非感官数据 tableName_password = "password" name="text" 因此,当我显示文件内容时,它将密码显示为“password”。 因此,我的问题是如何将“密码”显示为****仅用于显示,而不实际更改文件中的实际值,也不影响非敏感数据的显示 with open(file_location) as file: print(file.read()) 它只

因此,我有一个包含如下内容的文件,其中混合了感官数据和非感官数据

tableName_password = "password" 
name="text"
因此,当我显示文件内容时,它将密码显示为
“password”
。 因此,我的问题是如何将
“密码”显示为****
仅用于显示,而不实际更改文件中的实际值,也不影响非敏感数据的显示

with open(file_location) as file:
        print(file.read())
它只会显示不更改值
“password”
,换句话说,它会在不接触名称的情况下屏蔽密码的实际值

tableName_password = "****"
name="text"
使用模块:

返回:
****

使用模块:

返回:
******

python中有一种方法,在不回显的情况下提示用户输入密码

python中有一种方法,在不回显的情况下提示用户输入密码


将所有密码字符替换为星号的最具python风格的方法是使用内置密码

password=“something123”
掩码_pass=''.join(映射(lambda:'*',密码))
打印(蒙面通行证)
输出

************

map
password
中的每个字符更改为
*
'.join()
将所有字符连接成一个字符串。

用星号替换所有密码字符的最有技巧的方法是使用内置字符

password=“something123”
掩码_pass=''.join(映射(lambda:'*',密码))
打印(蒙面通行证)
输出

************

map
password
中的每个字符更改为
*
'.join()
将所有字符合并为一个字符串。

最简单的版本是:

original_pass = 'your_pass'
masked_pass = '*'*len(original_pass)
print(masked_pass)

最简单的版本是:

original_pass = 'your_pass'
masked_pass = '*'*len(original_pass)
print(masked_pass)

在我回答之前,我将建议你对你正在做的任何事情使用另一种方法。将密码以纯文本形式存储在易于访问的文件中通常不是一个好主意

对于您的问题,我可能会使用正则表达式,如下所示:

import re


with open(file_location) as file:
    contents = file.read()
    print(
        re.sub("(?P<password>(password\s*=\s*)).*$", r"\2****", contents)
    )
重新导入
打开(文件位置)作为文件:
contents=file.read()
印刷品(
re.sub((?P(密码\s*=\s*).*$”,r“\2****”,目录)
)

这是通过匹配在行尾有“{anything else}password={whatever value}”的任何字符串来实现的。然后,它将用一些*符号来替换它以隐藏数据。

在我回答之前,我建议您使用另一种方法来处理您正在做的任何事情。将密码以纯文本形式存储在易于访问的文件中通常不是一个好主意

对于您的问题,我可能会使用正则表达式,如下所示:

import re


with open(file_location) as file:
    contents = file.read()
    print(
        re.sub("(?P<password>(password\s*=\s*)).*$", r"\2****", contents)
    )
重新导入
打开(文件位置)作为文件:
contents=file.read()
印刷品(
re.sub((?P(密码\s*=\s*).*$”,r“\2****”,目录)
)


这是通过匹配在行尾有“{anything else}password={whatever value}”的任何字符串来实现的。然后,它将用一些*符号替换此密码以隐藏数据。

您将在何处显示此密码?在终端中,作为响应从终端中的某个web端点返回。只是为了调试。那么你想在终端中“屏蔽”密码吗?警告:你不应该以明文形式保存密码。如果可以,您应该在getpass中使用环境变量或用户输入。我知道,这就是为什么我在调试文件中其他非敏感内容时希望显示为屏蔽。您将在哪里显示此密码?在终端中,作为响应从终端中的某个web端点返回。只是为了调试。那么你想在终端中“屏蔽”密码吗?警告:你不应该以明文形式保存密码。如果可以,您应该在getpass中使用环境变量或用户输入。我知道,这就是为什么当我尝试调试文件中其他非敏感内容时,我希望显示为屏蔽。虽然我和您一样担心明文存储的密码,但这并不能解决问题。如果提问者不能接受用户提示怎么办?这可能是已经存在的大量数据的一部分。虽然我和你一样担心明文存储的密码,但这并不能解决问题。如果提问者不能接受用户提示怎么办?这可能是已存在的大量数据的一部分。此答案在技术上是正确的,因为密码将被修改。但是,这将匹配每个字符,并用*替换它,这有点笨手笨脚。您需要构造一个适当的模式来避免“贪婪”替换。这个答案在技术上是正确的,因为密码将被修改。但是,这将匹配每个字符,并用*替换它,这有点笨手笨脚。你需要构造一个合适的模式来避免“贪婪”的替换我认为提问者的大问题并不是这样回答的:你如何识别密码然后屏蔽它?这个答案假设提问者已经这样做了,我不认为这是真的。@Piratenijas他写了
我有一个文件,内容如下
-所以我认为他知道存储密码的密钥的名称。他们知道,是的,但知道结构是一回事。知道如何使用该结构按程序提取信息是另一个问题。我认为提问者的大问题并不是这样回答的:你如何识别密码然后屏蔽它?这个答案假设提问者已经这样做了,我不认为这是真的。@Piratenijas他写了
我有一个文件,内容如下
-所以我认为他知道存储密码的密钥的名称。他们知道,是的,但知道结构是一回事。知道如何使用该结构按程序提取信息是另一个问题