teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問点を明確化

2017/02/14 21:41

投稿

Surface-Yuki
Surface-Yuki

スコア34

title CHANGED
File without changes
body CHANGED
@@ -13,7 +13,7 @@
13
13
  IndexError: list index out of range
14
14
  ```
15
15
 
16
- このエラーによると、12行目のstdio.write(sys.argv[1])に問題があるようなのですが、
16
+ [質問点1]このエラーによると、12行目のstdio.write(sys.argv[1])に問題があるようなのですが、
17
17
  どのように修正すれば良いのか教えてください。
18
18
 
19
19
  そもそも、stdio.pyというファイルはあるのですが、sys.py
@@ -21,7 +21,18 @@
21
21
  外部から入力するこれらのモジュールと呼ばれるデータの集まりはライブラリと言うそうですが、これらのファイルはpythonをダウンロード時に一緒にダウンロードされているという理解で正しいですか?
22
22
 
23
23
  import sys となっているのに関わらず、sys.pyというファイルが見つからないのが不思議です。
24
+ 全データ検索で探しましたが見つかりません。
25
+ sys.stdin.pyという名前の似ているファイルは見つかりました。
24
26
 
27
+
28
+ [質問点2]コード内の
29
+ stdio.write(sys.argv[1])
30
+
31
+ というのはどのような命令なのでしょうか?
32
+ import でstdioがすでに紐づけされているので、その中のwrite という命令を行っている
33
+ ということでしょうか?
34
+
35
+
25
36
  ![イメージ説明](01c7f617ef5fae213a5364947be93cfa.png)
26
37
 
27
38
  以下、useargument.py
@@ -122,25 +133,7 @@
122
133
 
123
134
  #-----------------------------------------------------------------------
124
135
 
125
- def _readRegExp(regExp):
126
- """
127
- Discard leading white space characters from standard input. Then read
128
- from standard input and return a string matching regular expression
129
- regExp. Raise an EOFError if no non-whitespace characters remain
130
- in standard input. Raise a ValueError if the next characters to
131
- be read from standard input do not match 'regExp'.
132
- """
133
- global _buffer
134
- if isEmpty():
136
+ 省略
135
- raise EOFError()
136
- compiledRegExp = re.compile(r'^\s*' + regExp)
137
- match = compiledRegExp.search(_buffer)
138
- if match is None:
139
- raise ValueError()
140
- s = match.group()
141
- _buffer = _buffer[match.end():]
142
- return s.lstrip()
143
-
144
137
  #-----------------------------------------------------------------------
145
138
 
146
139
  def isEmpty():