python处理文件时文件名的问题

刚学python不久,在处理数据时每次都是在程序里面载入或读取数据文件,当文件名改变时就得修改程序,后来才知道python的sys模块有个argv[]函数可以获取命令行参数,包括python脚本的名字, 输入文件的名字等。如执行下列命令时:

python example.py file1 file2 ...

example.py脚本中的sys.argv[0]的值就是"example.py",即python脚本的文件名,sys.argv[1]的值为"file1",sys.argv[2]的值为"file2"等等

于是只要在程序中载入sys模块,并把要处理的数据文件名用argv[]函数读入就可以进行后续处理了,并且对输出文件可以根据输入的数据文件名进行命名。示例代码如下:

#!/usr/bin/env python
# Usage: "python scriptname.py data.dat"

import sys
  
# load data
datafile = sys.argv[1]
data = np.loadtxt(datafile)

# calculate
...

# save the result
outfile_name = "prefix_"+sys.argv[1]
outfile = open("%s"%outfile_name,"w")  #将结果保存为以“prefix_"为前缀,后面接数据文件名的文件
outfile.write(...)
outfile.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容