【发布时间】:2014-10-12 07:23:26
【问题描述】:
如果我这样做
import my_import
from my_import import *
我可以通过执行类似的操作来更改导入中的变量
my_import.k = 6
如果我想为我使用的每个导入更改 k 的值,我有没有办法遍历所有导入并在每个导入中设置 k 的值?
基本上我正在寻找类似的东西
for each x in [list of imports]
x.k = 6
【问题讨论】:
-
你认为你为什么需要这样做?
-
@jonrsharpe 我正在尝试自动为学生的作业评分。将有大约 90 个名称不可预测的文件,并且假定每个文件的顶部都有一个名为“k”的变量。虽然我一次只需要导入其中一个文件,但我觉得更有可能存在迭代所有导入的功能,而不是以某种方式使用单个变量或其他东西来切换导入模块的名称。不过,我可能错了,在这种情况下,我很想知道如何做到这一点。
-
最好构造分配,这样您就不必注入这样的变量 - 为什么不呢?让它成为一些
main入口函数的参数? -
@jonrsharpe 虽然我意识到这一点,但我不是做作业的人,我只是评分者。学生们被指示将 k 设置为某个值,但也被告知在文件顶部使其易于更改,因此我们需要检查他们的函数是否适用于不同的 k 值(最好不要手动更改每个值) .
-
@jonrsharpe 它是 Harvey Mudd 教科书/实验室练习的创建者:cs.hmc.edu/twiki/bin/view/ModularCS1/ImageCompression!给学生的唯一额外说明是让 k 可变,如果他们遵循实验室提供的规范,他们很可能会将 k 设置在他们编写的函数之外——如果他们直接遵循实验室,他们' d 可能只是将数字“5”硬编码到他们的提交中。 CS学生简介。 :P
标签: python variables import iteration