DebugConsoleStdInエラーの原因がわからない。
先程は情報提供をしていただきありがとうございます。複数行のデータを入力できるようになったのは良かったのですが、Pycharmでデバッグを行おうとすると、以下のログのようなエラーが出ます。
C:\ProgramData\Anaconda3\python.exe "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 61322 --file C:/Users/keito940/PycharmProjects/AOJTest/AOJTest.py
pydev debugger: process 18256 is connecting
Connected to pydev debugger (build 173.3727.137)
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3\helpers\pydev\pydevd.py", line 1683, in <module>
main()
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3\helpers\pydev\pydevd.py", line 1677, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3\helpers\pydev\pydevd.py", line 1087, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/Users/keito940/PycharmProjects/AOJTest/AOJTest.py", line 28, in <module>
main()
File "C:/Users/keito940/PycharmProjects/AOJTest/AOJTest.py", line 19, in main
for line in stdin:
TypeError: 'DebugConsoleStdIn' object is not iterable
以下は上記のエラーが発生したプログラムのソースコードです。
def main():
# プログラムとしては入力したデータを表示するだけのシンプルなもの。
l = []
for line in stdin:
a = line.rstrip().split(' ')
l.append(a)
print(l)
if __name__ == "__main__":
main()
追記:shingo.nakanishiさんが、解決方法を提示してくれたみたいですので、先ほどと同じプログラムをその方法で組んでみました。
import argparse
def main():
# プログラムとしては入力したデータを表示するだけのシンプルなもの。
# なお、入力はテキストファイルで行う模様。
l = []
parser = argparse.ArgumentParser()
parser.add_argument("filename", help="The filename to be processed")
args = parser.parse_args()
if args.filename:
with open(args.filename) as f:
for line in f:
a,b = line.rstrip().split(' ')
l.append([a,b])
print(l)
if __name__ == "__main__":
main()
クラスに依存しない方法を提供してくれてありがとうございます!!