【问题标题】:How to get file names from command-line parameters in Python如何从 Python 中的命令行参数获取文件名
【发布时间】:2015-04-29 11:12:32
【问题描述】:

我有以下代码:

with open("test.txt", "r") as test, open("table.txt", "w") as table:
    reader = csv.reader(test, delimiter="\t")
    writer = csv.writer(table, delimiter="\t")
    for row in reader:
        if all(field not in keywords for field in row):
            writer.writerow(row)

我如何将它转换为 .py 文件,让您定义 table.txt 并在运行时进行测试。所以必须写:

Script.py test.txt output.txt

【问题讨论】:

  • 查看argparse
  • 因为我的问题不是关于with,而是关于能够定义这些参数。但我现在改了:)
  • @PM2Ring:嗯,你现在在 Meta 上获得了一些额外的支持。 :)
  • @PM2Ring:我不认识她,但她的个人资料显示“LAMP”。正如尤达所说,“黑暗面可以很吸引人,它非常清晰和简单,但它就是幻觉。”对我来说听起来更像 Ruby 而不是 Perl。 :)

标签: python input output


【解决方案1】:

只需使用sys.argv:

import sys
import csv

with open(sys.argv[1], "r") as test, open(sys.argv[2], "w") as table:
      # more here

注意,sys.argv[0] 包含脚本名称(在您的情况下为 Script.py)。要得到第一个参数,你应该得到sys.argv[1];要获得第二个参数,您应该获得sys.argv[2] 等等。

【讨论】:

  • 我现在已经改变了它,并在with 中包含了输入和输出:)
猜你喜欢
  • 2016-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 2011-10-25
  • 1970-01-01
  • 2018-06-06
  • 2013-08-23
相关资源
最近更新 更多