簡體   English   中英

如何在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命令提示符下完全按照以下方式運行程序:(在其中我分別需要輸入“ -i”和“ -o”作為輸入和輸出文件名)

$ python codon.py -i fasta.txt -o output.txt

我嘗試輸入文件名

from sys import argv
script, filename = argv
f = open(filename,"r")

但是我覺得在命令提示符下並不一定需要“ -i”。

抱歉,如果問題非常明顯...我是Python新手

使用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")

....等等

如果您不想使用-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")
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM