相关疑难解决方法(0)

从另一个脚本调用脚本的最佳方法是什么?

我有一个名为test1.py的脚本,它不在模块中.它只有在脚本本身运行时才能执行的代码.没有函数,类,方法等.我有另一个作为服务运行的脚本.我想从作为服务运行的脚本中调用test1.py.

例如:

文件test1.py

print "I am a test"
print "see! I do nothing productive."
Run Code Online (Sandbox Code Playgroud)

文件service.py

# Lots of stuff here
test1.py # do whatever is in test1.py
Run Code Online (Sandbox Code Playgroud)

我知道一种方法是打开文件,读取内容,并基本上评估它.我假设有一个更好的方法来做到这一点.或者至少我希望如此.

python

277
推荐指数
9
解决办法
42万
查看次数

子进程中'shell = True'的实际含义

我用subprocess模块调用不同的进程.但是,我有一个问题.

在以下代码中:

callProcess = subprocess.Popen(['ls', '-l'], shell=True)
Run Code Online (Sandbox Code Playgroud)

callProcess = subprocess.Popen(['ls', '-l']) # without shell
Run Code Online (Sandbox Code Playgroud)

两者都有效.阅读文档后,我开始知道这shell=True意味着通过shell执行代码.这意味着在缺席的情况下,该过程将直接启动.

那么我应该更喜欢我的情况 - 我需要运行一个进程并获得其输出.从shell内部或外部调用它有什么好处.

python subprocess

236
推荐指数
5
解决办法
14万
查看次数

从 python 脚本执行 IPython 笔记本单元

在 IPython 笔记本中,您可以test.py使用 run magic 执行外部脚本,例如:

%run test.py
Run Code Online (Sandbox Code Playgroud)

有没有办法做相反的事情,即给定一个 IPython 笔记本,通过 python 脚本访问并运行其中的特定单元格?

python ipython

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

如何在不使用子进程的情况下从 python 自动化脚本中运行 python 'sdist' 命令?

我正在编写一个脚本来自动打包“自制”python 模块并将其分发到远程机器上。

我正在使用 Pip 并创建了一个 setup.py 文件,但是我必须调用子进程模块来调用“python setup.py sdist”命令。

我已经查看了 distutils.core 中的“run_setup”方法,但我试图避免全部使用 subprocess 模块。(如果我已经在 python 中,我认为打开 shell 来运行 python 命令没有意义......)

有没有办法将 distutils 模块导入我的脚本并将设置信息直接传递给其方法之一并完全避免使用 shell 命令?或任何其他可能对我有帮助的建议

谢谢

python packaging subprocess distutils pip

6
推荐指数
2
解决办法
1411
查看次数

使用子进程在python脚本中使用输入调用python脚本

我有一个脚本a.py,在执行它时会向用户询问某些查询并以json格式构造输出.使用python子进程,我可以从另一个名为的脚本调用此脚本b.py.一切都按预期工作,除了我无法获得变量的输出?我在Python 3中这样做.

python subprocess python-3.x

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

传递由用户设置的变量作为os.system()命令的参数

好吧基本上我是Python的新手,但是,我想为我在工作中使用的所有基本工具制作一个简单的菜单系统我的代码到目前为止如下:

import os
def main():
    print "Main Menu.\n"
    print "1. Ping yourself.\n"
    print "2. Ping someone else.\n"
    opt = raw_input ("Please enter a number:- ")
    if opt == "1":
            os.system('ping 127.0.0.1')
    if opt == "2":
            ip = raw_input ("Please enter IP:- ")
            os.system('ping'.ip)

main()
Run Code Online (Sandbox Code Playgroud)

现在,一切都运行良好,但我似乎在这里停留在这一行:

os.system('ping'.ip)
Run Code Online (Sandbox Code Playgroud)

因为我想使用第10行的变量来在命令中使用.希望这是一个简单的解决方案.

谢谢,

罗斯.

python

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

如何在python中不使用"import"导入

这个问题的背景是我正在尝试编写一个程序来协助分析数据.它应该用python3编写,但是它的数据类型通常以python无法读取的格式存储.有一个包来读取这些数据,但它只与python2兼容.为了读取数据,我因此想要编写一个python2脚本来读取文件并将其转换为numpy数组.我想在我的python3程序中阅读.(有问题的包装是axographio 1).

一般来说,我想要的是:

给出一个(python2)脚本

#reading.py
import numpy
x = numpy.random.random(size=10000)
Run Code Online (Sandbox Code Playgroud)

运行一个可以某种方式得到x的(python3)

#analyze.py
import matplotlib.pyplot as plt
#fancyfunction that gets x from reading.py
plt.plot(x)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这里重要的是read.py由python2解释器执行,因为它不能用于python3.

python subprocess module python-2.x python-3.x

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