gnuplot 帶引數指令碼與python指令碼結合

2022-08-31 21:42:20 字數 1445 閱讀 7910

1

reset

2set term png

3set output output_fname

4 plot input_fname using 1:2 w lp pt 0 title 'data'

上面是一段簡單的畫折線圖的gnuplot指令碼,引數就是裡面的output_fname和input_fname,在呼叫該指令碼時需要在命令列中指定這兩個引數,

1

#-*- coding: utf-8 -*-

2'''

3@time : 2018/6/28 14:41

4@author : [email protected]

5@site :

6@file : blog.py

7@software: pycharm

8'''

9import

numpy as np

10from subprocess import

popen

11import

os12

13 predir =os.getcwd()

14 env =os.environ

15print

(env)

16print

(os.get_exec_path(env))

17 a = np.random.standard_normal(10)

18 f = open(os.path.join(predir, "

data.txt

"), "w"

)19for i in range(10):

20 f.write("

{} {}\n

".format(i, a[i]))

21f.close()

2223 in_path = "

\'"+os.path.join(predir, "

data.txt

")+"\'"

24 out_path = "

\'"+os.path.join(predir, "

data.png

")+"\'"

25 cmd = ['

gnuplot',

26'-e'

,27"input_fname=

" + in_path + "

;output_fname=

" + out_path + ""

,28 os.path.join(predir, "

plot.plt")

29]30 popen(cmd)

第23行到30行就是指令碼的執行過程,這裡面使用了popen來執行命令列。

效果如下:

Python 指令碼帶引數

如果想對python指令碼傳引數,python中對應的argc,ar c語言的命令列引數 是什麼呢?需要模組 sys 引數個數 len sys.ar 指令碼名 sys.ar 0 引數1 sys.ar 1 引數2 sys.ar 2 test.py import sys print 指令碼名 sys.a...

實現帶引數的L指令碼

l指令碼語言解釋引擎初始化的時候會建立乙個名為 命令列引數 的表物件 通過下標,我們可以訪問每乙個命令列引數,這樣我們就可以很方便地編寫帶引數的指令碼 命令列引數 0 始終是直譯器引擎的完整路徑 命令列引數 1 始終是當前指令碼檔案的完整路徑 命令列引數 2 是通過命令列傳入的第乙個引數 命令列引數...

函式宣告帶引數與不帶引數區別

說說下面兩段 的差異 一void fun int main 二void fun void int main 一編譯通過,執行沒有問題,輸出hello 二編譯錯誤error too many arguments to function fun 這說明了,宣告或者定義函式介面的時候如果沒有帶有引數,編譯...