我正在编写一个包含命令行参数的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&",但没有任何效果。
如果有人能帮助我,我真的很感激。
答案 0 :(得分:0)
除非您明确格式化字符串,否则Python不会自动替换您的变量。请尝试使用以下代码:
conn.search("ou=Projects,dc=irf,dc=local", 2, "(&(objectClass=groupOfNames)(cn={args.project}))".format(**locals()))