我有一个标题和密码文件,格式如下:
<title> <password>
...
我需要搜索文件并返回给定 python 2.7 中标题的密码。做这个的最好方式是什么?我是处理文件的新手,所以如果有更好的方法来格式化此任务的文件,请随意给出答案。
我有一个标题和密码文件,格式如下:
<title> <password>
...
我需要搜索文件并返回给定 python 2.7 中标题的密码。做这个的最好方式是什么?我是处理文件的新手,所以如果有更好的方法来格式化此任务的文件,请随意给出答案。
如果您的文件可能非常大,并且您希望将其全部加载到 ram 中,您可以遍历每一行,检查您需要的标题值。这种方法的性能将完全取决于扫描通过匹配线的速度。
如果您的文件大小合理并且可以读入内存,您可以考虑使用pickle
orjson
来存储您的文件,并将其序列化为dict
. 这样您就可以读入文件并立即将标题作为键取出。
pythonshelve
模块还为您提供了一个更高级别的对象,该对象将充当字典,并为您处理对底层数据库文件的序列化。它基本上是一个持久字典。这可能是效率和性能的最佳平衡。
使用普通 dict 或使用 shelve 都意味着没有字符串解析,因为键是您的标题,值是您的密码。
def find_pass(fname,target_title):
with open(fname) as f:
for ln in f:
# some test to see if this is the line you want
if ln.startswith(target_title):
return ln[len(target_title):].strip()