我正在 MacOSX 上的 Visual Studio Code 编辑器中运行一些基本代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 20, 100)
plt.plot(x, np.sin(x))
plt.show()
Run Code Online (Sandbox Code Playgroud)
...并且似乎无法在运行后获得 png/svg 文件图像。这也不会停止执行,我必须手动终止该过程。但是,如果我直接在终端中运行它(每一行代码行),我会得到结果图像。一种解决方法是只保存文件 (plt.savefig('foo.png'))。这似乎有效 - 图像保存在指定的文件位置。但是,最好在运行代码后看到图像出现。
我已经搜索了一段时间,但似乎找不到明确的答案...我试图从终端运行 psql 脚本,同时传递表变量名称和另一个变量作为 psql 脚本的一部分。
bash 命令:
psql db1 -U user1 -f '/.../Desktop/.../sample.sql' -v table=pg2 -v v1="'2018-02-01'";
Run Code Online (Sandbox Code Playgroud)
PSQL 脚本:
SELECT count(*) FROM :table WHERE datekey = :v1;
Run Code Online (Sandbox Code Playgroud)
以上有效。但是,我希望能够将表名和附加变量转换为脚本本身中的字符串,以便我可以在我定义的另一个函数中使用它。例如,我希望 pg2 的表名可以作为字符串“pg2”使用。与 datekey 变量类似的要求。这可能吗?我的观察是,只有在 CRUD 操作或 WHERE 子句中使用时才可以传递变量。