Python读取文本文件筛选带_x/_y后缀用户名并赋值为变量
Python实现带_x/_y后缀用户名筛选
你现有代码存在两个基础问题:
- 连续两次调用
file.read()时,第一次读取后文件指针已经移动到文件末尾,第二次读取会返回空内容 rstrip('\.n)存在语法错误,转义符、闭合引号和括号都书写不正确,逐行读取再处理空白字符的逻辑更适配你的场景
实现逻辑
核心逻辑分三步:
- 逐行读取
user_list.txt中的用户名,清理每行首尾的换行、空格等无效字符 - 精准匹配行尾的
_x、_y后缀,避免误判用户名中间出现相同字符组合的情况 - 将符合要求的用户名存入
Test_X变量,供其他脚本调用
可直接运行的代码
Test_X = [] # 读取用户列表文件,指定utf-8编码避免乱码 with open('user_list.txt', 'r', encoding='utf-8') as f: for line in f: # 清除每行首尾的换行符、多余空格 username = line.strip() # 跳过空行 if not username: continue # 精准判断结尾后缀 if username.endswith('_x') or username.endswith('_y'): Test_X.append(username) # 按需使用Test_X即可,比如打印校验结果 # print(Test_X)
补充说明
- 用字符串内置的
endswith()方法做后缀匹配,只会检查字符串末尾的内容,不会把类似admin_x_test这种中间带_x的用户名误筛选出来,匹配精度符合你的要求 - 如果其他脚本需要调用
Test_X,可以把这段代码写为公共模块,其他脚本直接导入该变量即可;如果需要对接shell等外部脚本,可以把列表拼接为指定分隔符的字符串输出使用
内容的提问来源于stack exchange,提问作者wvdoom
相关产品推荐
相关产品推荐

