所以我试图改变一堆"来自x import x"的语句,看起来像这样:
from class_foo import class_foo
Run Code Online (Sandbox Code Playgroud)
变成动态的东西.我正在尝试将路径传递到目录并让它导入其中的所有模块.
def dynamicImport(dirPath):
filez = os.listdir(dirPath)
for file in filez:
if "class" in file:
oname = file[:-3] #cut off the file extension, trivial
imp_statement = "from " + oname + " import " + oname
#when I print imp_statement, I can verify it's being concatenated correctly
exec(imp_statement)
Run Code Online (Sandbox Code Playgroud)
当我运行此函数并将其传递给路径时,语句字符串正在正确创建并且不会产生错误,但稍后我将尝试访问其中一个导入的对象,并且会发生以下情况:
foo = class_foo()
NameError: name 'class_foo' is not defined
Run Code Online (Sandbox Code Playgroud)
显然,我做错了什么.任何帮助,将不胜感激.
我正在尝试弄清楚如何检索上传到Google云端硬盘的文件的文件大小.根据文档,这应该在文件元数据中...但是当我请求它时,文件大小根本不在元数据中.
file = self.drive_service.files().get(fileId=file_id).execute()
print(file)
>>> {u'mimeType': u'application/x-zip', u'kind': u'drive#file', u'id': u'0B3JGbAfem1CrWnhtWq5qYlkzSXf', u'name': u'myfile.ipa'}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?如何查看文件大小?
我是一名自学成才的程序员,没有接受过正规培训,如果这是一个愚蠢的问题,请提前原谅我.
在Python编程时我发现了一些奇怪的东西:
from someModule import someClass
def someFunction():
someInstance = someClass()
print "foo"
del someClass
someFunction()
Run Code Online (Sandbox Code Playgroud)
这会立即死于未绑定的局部变量错误:
UnboundLocalError: local variable 'someClass' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
注释掉删除语句可以解决问题:
...
#del someClass
...
Run Code Online (Sandbox Code Playgroud)
它返回:
foo
Run Code Online (Sandbox Code Playgroud)
那么,2个问题:
1)del语句位于函数的末尾.为什么在开始之前调用它?
2)为什么它给我一个"未绑定的局部变量"错误?它不应该是一个"未绑定的全局变量"错误吗?