gpt4 book ai didi

python - 如何使用 "for"语句引用 Python 中具有相似名称的多个脚本?

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:39 25 4
gpt4 key购买 nike

我想执行几个具有相似名称的 .py 文件。目标是调用 a1.py、a2.py 和 a3.py。我已经尝试过以下内容,但无法使其工作。如何将“n”中的每个元素插入到文件名中以执行多个脚本?感谢您的帮助。

n = [1,2,3]

for x in n:
execfile('C:/a$n.py')

最佳答案

就我个人而言,我真的更喜欢使用字符串格式而不是串联(对各种数据类型更稳健)。另外,没有理由保留这样的列表,它可以用 range

替换
for x in range(1,4): 
execfile('C:/a%s.py' % x)

range(1, 4) == [1, 2, 3] # True

也就是说,Marcin 使用的 format 命令在技术上更加Pythonic。但我个人认为它过于冗长。

我相信字符串连接是性能最高的选项,但性能实际上不应该成为您的决定因素。

回顾一下:

Python 解决方案:

execfile('C:/a{}.py'.format(x))

C型解决方案(我个人更喜欢):

execfile('C:/a%s.py' % x)

高性能解决方案(再次强调,性能确实不应该成为您的驱动力)

execfile('C:/a' + str(x) + '.py')

编辑:事实证明我错了,C 型解决方案性能最高。 timeit 结果如下:

$ python -m timeit '["C:/a{}.py".format(x) for x in range(1,4)]'
100000 loops, best of 3: 4.58 usec per loop

$ python -m timeit '["C:/a%s.py" % x for x in range(1,4)]'
100000 loops, best of 3: 2.92 usec per loop

$ python -m timeit '["C:/a" + str(x) + ".py" for x in range(1,4)]'
100000 loops, best of 3: 3.32 usec per loop

关于python - 如何使用 "for"语句引用 Python 中具有相似名称的多个脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28490427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com