相关疑难解决方法(0)

导入和execfile之间的区别

我有一个utils.py包含名为的函数的文件f1()

通过另一个Python脚本,我可以import utilsexecfile('utils.py')可以访问f1()。两种方法有什么区别?

import python-import execfile python-2.7

5
推荐指数
1
解决办法
1963
查看次数

python从内存加载zip模块

所以假设我有一个包含模块/类的zip文件.然后我读了这个文件 - 读取二进制文件("rb")将其存储到内存中.我如何将此zip文件存入内存并从中加载模块.我需要为此编写一个导入钩子吗?一个人不能简单地从内存中运行exec二进制zip数据,可以吗?

我知道从磁盘上的普通zip文件加载模块很简单,因为这是由python2.7自动完成的.然而,我; 想知道这是否可以通过记忆.

更新:很多人都提到从磁盘导入zip.问题是我想从内存NOT磁盘导入zip.我显然会逐字节地将它从磁盘读入内存.我想从构成zip文件的内存中获取所有这些字节,并将其用作常规导入.

python

5
推荐指数
1
解决办法
1615
查看次数

如何在 python 3 解释器中运行带参数的 python 脚本?

我正在使用 PyZo(带有 python3.5),并且不知道如何使用PyZo 的 python 解释器或一般的python 解释器的参数来运行脚本。我在这里找到了 python3 的以下工作示例,但不知道如何将参数(例如 csv 文件 input_data.csv)传递给脚本

>>> exec(open("./script.py").read())
Run Code Online (Sandbox Code Playgroud)

这是在 iPython 中运行的:

In [1]: run script.py input_data.csv
Run Code Online (Sandbox Code Playgroud)

与上面的 iPython 命令等效的 python 3 是什么?

谢谢


注1

当从操作系统命令行运行带有参数的脚本时,您可以键入以下内容:

$ python script.py input_data.csv

当使用 python 解释器时,我期望能够运行 python 脚本,例如:

>>> script.py input_data.csv

即不调用 pythonexecutable,或使用'exec(open("./script.py").read())'等。对我来说,运行带参数的脚本是非常基本的事情,但显然不适合大多数用户。

interpreter parameter-passing python-3.x

5
推荐指数
1
解决办法
7696
查看次数

在主脚本中保留helper python脚本的环境

我有一个帮助脚本,我想从主脚本调用它作为服务器.这个主要脚本如下所示:

Class Stuff():
    def __init__(self, f):
        self.f = f
        self.log = {}

    def execute(self, filename):
        execfile(filename)

if __name__ == '__main__':
    #start this script as server
    clazz = Stuff()
    #here helper_script name will be provided by client at runtime
    clazz.execute(helper_script)
Run Code Online (Sandbox Code Playgroud)

现在,客户端将通过向主脚本(服务器)提供其名称来调用此帮助程序脚本.执行后我想在主脚本中保留辅助脚本的变量(即:a,b).我知道一种方法是将这些变量从辅助脚本返回到主脚本.但是有没有其他方法可以保留助手脚本的所有变量.这是帮助脚本的样子:

import os
a = 3
b = 4
Run Code Online (Sandbox Code Playgroud)

我尝试使用execfile和subprocess.

python subprocess python-2.7

5
推荐指数
1
解决办法
177
查看次数

将我的代码发布到 github 会影响我的应用程序的安全性吗?

背景

我正在 Django 中编写一个简单的博客应用程序(数据通过模板语言传递)。博客的所有者将有权访问管理页面,他们将在其中更新数据库。现在我明白在生产中我将不得不隐藏安全密钥并关闭调试。

我在徘徊的是将代码推送到github是否会危及应用程序的安全性?

security django github

4
推荐指数
2
解决办法
1981
查看次数

Python 3.3相当于'execfile'

我需要找到如何在Notepad ++中编写后打开我的.py文件.我发现界面比Python窗口更有用.

在一个教程中,我跟随着这个人使用

execfile(pathway)
Run Code Online (Sandbox Code Playgroud)

但是execfile在3.3中不起作用.

3.x中是否有等价的陈述?

python keyword execfile python-3.x

3
推荐指数
1
解决办法
1万
查看次数

Python3-在函数内调用 exec(open().read()) 时出现问题

我在 python 脚本中运行 python 脚本时遇到问题,我根本不明白:

假设我们在同一目录中有 2 个文件:'init.py' 和 'text.py'

初始化.py:

X = 5
print("init.py was run")
Run Code Online (Sandbox Code Playgroud)

测试.py:

exec(open("./init.py").read())
print("X = %s" %X)
Run Code Online (Sandbox Code Playgroud)

如果我现在运行 test.py,我会得到

init.py 已运行

X = 5

但是,如果我将 test.py 更改为:

def func_call( filename):
  exec(open(filename).read())
  print("X = %s" %X)

func_call("./init.py")
Run Code Online (Sandbox Code Playgroud)

我得到:

init.py 已运行

回溯(最近一次调用最后一次):

文件“test.py”,第 5 行,位于

func_call("./init.py")   
Run Code Online (Sandbox Code Playgroud)

文件“test.py”,第 3 行,在 func_call 中

print("X = %s" %X) 
Run Code Online (Sandbox Code Playgroud)

名称错误:名称“X”未定义

有人可以向我解释为什么这会导致不同的结果吗?有解决方法吗?我的目标是通过运行 python 脚本并访问该 python 脚本中设置的变量来初始化大部分变量。

python file exec python-3.x

3
推荐指数
1
解决办法
7304
查看次数

Python:从同一个Interpreter同时执行多个脚本

我有一个python脚本,它再次执行4-5 python脚本.出于性能原因,我想使用相同的解释器来执行所有脚本.

我怎么能处理这个问题?

python

1
推荐指数
1
解决办法
5394
查看次数