这个标题看起来很愚蠢,但我不知道如何准确地表达它,对不起。
我有一个程序,需要评估一些用户代码(通过RestrictedPython的安全性),我想把一个函数放在评估的全局变量中,这样当评估时,它可以打印出一些调试信息给我,例如(简化):
class UserException(Exception):
pass
def err(msg):
# ? how to get the globals variable in eval ?
A = globals().get('A', 'A not found')
return User
在这里发布整个实际代码没有多大意义,所以我将尽我最大的努力来概括我的问题。函数(让它命名为x)在代码的开头定义。然后从单独的.py文件导入类(它有一个方法z,z最终调用x)。对象被创建。在调用z之后,我得到"global name 'x‘is not defined“错误。然后我想我把我的.py文件中的所有代码粘贴到一个文件中,把def(x)放在它的上面,看看会发生什么。当然,它像预期的那样工作。我不明白以前的方法有什么问题(我更喜欢坚持使用),它是不是基本上是一样的?
我有一个python脚本,它包含一些数据:
-/Data.py:
Parameter=10
我还有一个Main.py脚本,其中应该多次调用Data.py:
我的目录/主目录
call the Data.py to access parameter
Manipulating and changing parameter
Some Code Here
call the Data.py to access parameter
Manipulating and changing parameter
我应该如何编写Main.py脚本来完成这个任务?
我对python非常陌生,
我可以运行API.py,但不能运行同一目录中的APP.py。错误是"NameError:名称'a‘未定义“。global()真的是全局的吗? API.py: class Entity():
def __init__(self,name,value):
globals()[name]=value
if __name__ == '__main__':
Entity('a',1)
print(a) APP.py from API import Entity
if __name__ == '__mai
由于某些原因,此代码会产生错误:
import os
def main():
print(os.path.isfile('/bin/cat'))
import os
if __name__ == '__main__':
main()
结果:
Traceback (most recent call last):
File "test.py", line 10, in <module>
main()
File "test.py", line 5, in main
prin
我正在尝试从一个父子元素数组创建一个路径。
这个想法是编写一个递归函数,它用路径中包含的所有元素按顺序填充一个数组。
我的问题是PHP中的闭包:
为了让我的递归函数工作,我必须在全局范围内定义几个变量。
它看起来是这样的:
global $breadcrumbs;
$breadcrumbs = array();
function buildBreadcrumbs($elements, $parentID){
global $siteroot;
global $breadcrumbs;
global $navigation;
if($siteroot['i
我刚刚完成了制作一个类似流氓的游戏的教程,现在我要去实现怪物了。
问题是,整个游戏是一个带有1k+行的单一文件。
如你所见:
我想把它划分在不同的文件/文件夹中来处理实现better.Maybe,一个文件为游戏的每个方面,如地图/播放器/npcs/项目.但至少在类/函数/Main中划分。
问题是,当我把它放到Main.py中时:
from Classes import *
from Functions import *
我得到了
NameError: name 'libtcod' is not defined
这是Main中使用的模块。然后我尝试将Main.py导入到Clas
下面是我的代码:
import numpy as np
import matplotlib.pyplot as plt
import astropy
import matplotlib
%matplotlib ipympl
import scatterplot_with_hist as sc
badx=[]
bady=[]
import badcomp as bc
#things like data5 and list2 are defined in here--I know that code is functional so I'll omit it for brevity
b
我有两份文件:
lib.py
global var
def test():
var = "Hello!"
return
test.py
from lib import *
test()
print(var)
但是,尽管将它们放在同一个文件夹中,但当我运行test.py时,我会得到以下错误:
Traceback (most recent call last):
File "C:\Test\test.py", line 5, in <module>
print(var)
NameError: name 'var'
global $con;
我已经将数据库连接对象保存在$con变量中。
$con=mysqli_connect('localhost','username','password','database');
当我在函数中使用它时,它是不可访问的。例如
function getnews($q){
$q="SELECT * FROM News";
mysqli_query($link,$q);
}
在没有在函数参数中传递$link的getnews()函数中,我无法使用它。
我的问题是,如何使用$link对
我希望能够做这样的事情:
#mymodule
var = None
def load():
var = something()
其他模块:
#secondmodule
import mymodule
mymodule.load()
#thirdmodule
from mymodule import var
print var #Shouldn't be None
但是我不知道如何从模块中定义的函数中引用模块变量。
这个是可能的吗?或者我需要在每个我不想用到的地方放一个全局声明。还是说我做的完全错了?
我正在使用airbnb扩展来构建我的React项目。现在,在我的index.js中我有:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<App />,
document.getElementById('root'),
);
林特说:
no-undef 'document' is not defined.at line 8 col 3
我有两个剧本。一个是funcLib.py,在这里我定义了所有可重用的函数,如下所示:
import os
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.action_chains import ActionChains
import time
global wd
def deviceSelection():
desired_caps = {}
desired_caps['
我的程序出了问题,我能够在小范围内复制这个意外的行为(至少对我来说是出乎意料的),所以现在我确信这不是另一个bug。
假设我有3个python模块:one、two和three。
在three中我们有:
var = 0
list = []
因此,我们有一个整数,等于零和空列表。
在two中我们有:
from three import var, list
def funct():
print var*2
print list
return
因此,我们导入var和list,并简单地定义一个函数,该函数将同时打印并返回。
我不是在two中调用two,而是在one中调用它,但不
我有一个推理脚本,其中负载模型和预测在一个脚本中,如何将它们分开,这样我就不必在每次进行预测时都加载模型
from keras.models import load_model
# load model
model = load_model('model.h5')
# prediction
result = model.predict(image)
parent/__init__.py
favorite_numbers = [1]
def my_favorite_numbers():
for num in favorite_numbers:
num
my_favorite_numbers()
from .child import *
my_favorite_numbers()
parent/child.py
print favorite_numbers
favorite_numbers.append(7)
然后,我创建了一个名为tst