Şu anda böyle argparse kullanıyorum geçerli değilse:Dosya - hata mesajı argüman
Şimdiimport argparse
from argparse import ArgumentParser
parser = ArgumentParser(description="ikjMatrix multiplication")
parser.add_argument("-i", dest="filename", required=True,
help="input file with two matrices", metavar="FILE")
args = parser.parse_args()
A, B = read(args.filename)
C = ikjMatrixProduct(A, B)
printMatrix(C)
Ben -i
argümanı okunabilir bir dosya olması gerektiğini dikkat etmek istiyorum . Bunu nasıl yapabilirim?
type=open
, type=argparse.FileType('r')
eklemeye çalıştım ve bunlar işe yaradı, ancak dosya geçerli değilse bir hata iletisi almak istiyorum. Bunu nasıl yapabilirim?
@moose - Bir başka yorum. 'os.path.isfile', os.path.exists'den daha uygun olabilir (dizinleri de kabul etmek isteyip istemediğinize bağlı olarak) – mgilson
Aslında, bir try-except bloğu ile dosyayı açıp denemek için daha iyi bir uygulama olduğu düşünülürse, Varlığını kontrol etmek için – jarondl
@jarondl haklı. Bu, olası yarış koşullarından kaçınmak için bir “try: ... IOError” hariç, değiştirilmelidir. Çoğu vaka için önemli değil ama bu son zamanlarda beni ısırdı. – AlexLordThorsen