将硬编码文件名转换为命令行参数[重复]

Posted

技术标签:

【中文标题】将硬编码文件名转换为命令行参数[重复]【英文标题】:Convert hard coded file names to command line arguments [duplicate] 【发布时间】:2015-03-30 04:40:27 【问题描述】:

run.py的脚本如下:

a = open('a.csv')
b = open('b.csv')
c = open('c.csv','w')

while True:
   la = a.readline()
   if not la: break
   lb = b.readline()
   la = la.split('\t')
   lb = lb.split('\t')
   la[4] = str(int(la[4])+int(lb[4]))
   la[5] = str(int(la[5])+int(lb[5]))
   c.write('\t'.join(la)); c.write('\n')

是否可以转换成如下格式:

python run.py a.csv b.csv c.csv

这样我就可以在终端中将文件名更改为参数,非常感谢。

【问题讨论】:

【参考方案1】:

您可以通过sys.argv 访问传递给您的程序的参数。

from sys import argv

a = open(argv[1])
b = open(argv[2])
c = open(argv[3],'w')

# Etc.

【讨论】:

以上是关于将硬编码文件名转换为命令行参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

我想用ffmpeg命令行转换一个视频文件,视、音频编码格式不变,只是将画面旋转90度,请问命令行该如何写?

python 文件处理 -- 02 文件属性&标准输入输出&命令行参数&文件编码

sort排序命令 uniq 去除排序过的文件中的重复行 cut提取命令 wc 统计命令

如何在 C# 中解析命令行参数 [重复]

如何将命令行参数转换为 int?

如何将命令行“key=value”参数转换为字典?