Argparseを使用して読み取り用にファイルを開きたい。 cmdでは、my_program.py/filepathのようになります。
それが私の試みです:
parser = argparse.ArgumentParser()
parser.add_argument('file', type = file)
args = parser.parse_args()
引数のタイプは文字列である必要があります(とにかくデフォルトです)。次のようにします:
parser = argparse.ArgumentParser()
parser.add_argument('filename')
args = parser.parse_args()
with open(args.filename) as file:
# do stuff here
ドキュメントをご覧ください: http://docs.python.org/2/library/argparse.html#type
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('file', type=argparse.FileType('r'))
args = parser.parse_args()
print args.file.readlines()
ファイルを正常に閉じるには、argparse.FileTypeを「with」ステートメントと組み合わせることができます
# ....
parser.add_argument('file', type=argparse.FileType('r'))
args = parser.parse_args()
with args.file as file:
print file.read()
---更新---
ああ、@ Wernightはすでにコメントでそれを言った
pathlib
を使用するオプションを追加します。
import argparse, pathlib
parser = argparse.ArgumentParser()
parser.add_argument('file', type=pathlib.Path)
args = parser.parse_args()
with args.file.open('r') as file:
print(file.read())