如何在 Linux 命令提示符下将外部输入和输出文件名调用到 运行 Python 程序
How to call external input and output file names to run Python Programs at Linux Command Prompt
在我的 Python 程序中,我有打开输入文件的行:
f = open('/home/han/fasta.txt',"r")
并写入输出文件:
with open("output.txt", "w") as text_file:
text_file.write ("{:<16}{:<16}{:<16}{:<16}{:<16}".format('','A','C','G','T')+'\n')
但是,每次我想运行 Linux 命令提示符中的Python 程序有不同时,我必须在代码中更改输入和输出文件名。
我想知道如何在 Linux 命令提示符下实现 运行ning 程序,如下所示:(其中我需要为输入和输出文件名输入“-i”和“-o”分别)
$ python codon.py -i fasta.txt -o output.txt
我已经尝试输入文件名
from sys import argv
script, filename = argv
f = open(filename,"r")
但我觉得它不一定需要命令提示符中的“-i”。
抱歉,如果问题非常明显...我是 Python
的新手
如果您不想使用 -i
,这不是强制性的,您可以执行以下操作:
python codon.py fasta.txt output.txt
您可以使用 argv[1]
和 argv[2]
:
获取名称
from sys import argv
inputfile = argv[1]
outputfile = argv[2]
f = open(inputfile ,"r")
...
使用python标准argparse
库
import argparse
parser = argparse.ArgumentParser(description='My app description')
parser.add_argument('-i', '--input', help='Path to input file')
parser.add_argument('-o', '--output', help='Path to output file')
args = parser.parse_args()
f = open(args.input,"r")
..等等
在我的 Python 程序中,我有打开输入文件的行:
f = open('/home/han/fasta.txt',"r")
并写入输出文件:
with open("output.txt", "w") as text_file:
text_file.write ("{:<16}{:<16}{:<16}{:<16}{:<16}".format('','A','C','G','T')+'\n')
但是,每次我想运行 Linux 命令提示符中的Python 程序有不同时,我必须在代码中更改输入和输出文件名。 我想知道如何在 Linux 命令提示符下实现 运行ning 程序,如下所示:(其中我需要为输入和输出文件名输入“-i”和“-o”分别)
$ python codon.py -i fasta.txt -o output.txt
我已经尝试输入文件名
from sys import argv
script, filename = argv
f = open(filename,"r")
但我觉得它不一定需要命令提示符中的“-i”。
抱歉,如果问题非常明显...我是 Python
的新手如果您不想使用 -i
,这不是强制性的,您可以执行以下操作:
python codon.py fasta.txt output.txt
您可以使用 argv[1]
和 argv[2]
:
from sys import argv
inputfile = argv[1]
outputfile = argv[2]
f = open(inputfile ,"r")
...
使用python标准argparse
库
import argparse
parser = argparse.ArgumentParser(description='My app description')
parser.add_argument('-i', '--input', help='Path to input file')
parser.add_argument('-o', '--output', help='Path to output file')
args = parser.parse_args()
f = open(args.input,"r")
..等等