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

标签 python list for-loop execfile

我想执行几个具有相似名称的 .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/

相关文章:

python - 从字符串中保存和检索 Numpy 数组

C编程-角色 move 问题

Python MySQL 在 Blob 中插入和检索列表

python - 将二维数组或列表拆分为python中的两个一维列表

ios - 更改在 for 循环中创建的 UIView 的属性

javascript for循环获取订单详细信息

Python服务器 "Only one usage of each socket address is normally permitted"

python - 当使用 noexec 挂载/tmp 时,为什么在 Python 中出现段错误?

python - read_csv pandas 函数的输入

c++ - 如何分配 vector <列表<int>>的大小?