LDAP搜索中的变量

时间:2016-03-30 21:44:19

标签: python ldap

我正在编写一个包含命令行参数的Python 3脚本,我想将其中一个参数用作变量。以下是参数的声明:

parser.add_argument('-p', '--project', help='Project name', type=str, required=True)
args = parser.parse_args()

我想使用此命令在LDAP中搜索项目名称(cn = args.project是相关部分):

conn.search("ou=Projects,dc=irf,dc=local", 2, "(&(objectClass=groupOfNames)(cn=args.project))")

但它不起作用,因为该函数不会将args.project视为变量,因此它无法找到该条目。我已经尝试了很多变化,包括"& args.project&",但没有任何效果。

如果有人能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:0)

除非您明确格式化字符串,否则Python不会自动替换您的变量。请尝试使用以下代码:

conn.search("ou=Projects,dc=irf,dc=local", 2, "(&(objectClass=groupOfNames)(cn={args.project}))".format(**locals()))