初学者 Python:将输出文件保存为 argv 输入文件名
Beginner Python: save output file as argv input filename
我想用与输入文件相同的名称保存我生成的绘图。输入是通过命令行,所以我不太确定该怎么做。
#!/usr/bin/python
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from numpy import arange,array,ones#,random,linalg
from pylab import plot,show
from scipy import stats
from sys import argv
a = argv[1]
b = argv[2]
list1 = open(a)
list2 = open(b)
xi = list1.read().splitlines()
filter(None,xi)
y = list2.read().splitlines()
filter(None,y)
xi = [float(xk) for xk in xi]
y = [float(yk) for yk in y]
slope, intercept, r_value, p_value, std_err = stats.linregress(xi,y)
print 'r value', r_value
line = slope*xi+intercept
plot(xi,line,'r-',xi,y,'o')
plt.savefig('a')
我的输入是 number001.txt,我希望输出是 number001.png。
谢谢!!
- 通过
sys.argv
获取输入文件名
- 使用相同的名称但不同的扩展名来保存结果。
获取输入文件名并使用相同文件名保存输出的简单示例。
例如
import sys
if __name__=="__main__":
print "argument:", sys.argv
inputfile = sys.argv[1]
print "inputfile:", inputfile
outputfile = inputfile.split(".")[0] + "__output.txt"
print "outputfile:", outputfile
with open(outputfile, "wb" ) as fp:
fp.write("some content")
输出:
vivek@vivek:~/Desktop/Whosebug$ python 25.py test.txt
argument: ['25.py', 'test.txt']
inputfile: test.txt
outputfile: test__output.txt
另外os
模块有路径拆分方法。
例如
>>> import os
>>> os.path.splitext("input.txt")
('input', '.txt')
我想用与输入文件相同的名称保存我生成的绘图。输入是通过命令行,所以我不太确定该怎么做。
#!/usr/bin/python
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from numpy import arange,array,ones#,random,linalg
from pylab import plot,show
from scipy import stats
from sys import argv
a = argv[1]
b = argv[2]
list1 = open(a)
list2 = open(b)
xi = list1.read().splitlines()
filter(None,xi)
y = list2.read().splitlines()
filter(None,y)
xi = [float(xk) for xk in xi]
y = [float(yk) for yk in y]
slope, intercept, r_value, p_value, std_err = stats.linregress(xi,y)
print 'r value', r_value
line = slope*xi+intercept
plot(xi,line,'r-',xi,y,'o')
plt.savefig('a')
我的输入是 number001.txt,我希望输出是 number001.png。
谢谢!!
- 通过
sys.argv
获取输入文件名
- 使用相同的名称但不同的扩展名来保存结果。
获取输入文件名并使用相同文件名保存输出的简单示例。
例如
import sys
if __name__=="__main__":
print "argument:", sys.argv
inputfile = sys.argv[1]
print "inputfile:", inputfile
outputfile = inputfile.split(".")[0] + "__output.txt"
print "outputfile:", outputfile
with open(outputfile, "wb" ) as fp:
fp.write("some content")
输出:
vivek@vivek:~/Desktop/Whosebug$ python 25.py test.txt
argument: ['25.py', 'test.txt']
inputfile: test.txt
outputfile: test__output.txt
另外os
模块有路径拆分方法。
例如
>>> import os
>>> os.path.splitext("input.txt")
('input', '.txt')