質問編集履歴

1

質問に「文法エラーになる」と書きましたが、「意図しない情報を取得してしまう」が正しかったため訂正させていただきました。

2016/09/23 04:01

投稿

hitomatagi
hitomatagi

スコア37

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,11 @@
12
12
 
13
13
 
14
14
 
15
- # 文法エラーですが、やりたいこと
15
+ # やりたいこと
16
16
 
17
- dir()の引数はオブジェクトなのでこう書いてしまうとエラーになります。
17
+ dir()の引数に情報を取得したいサュールを文字列で指定すると、サブモジュールの情報ではく、文字列情報が表示されてしまます。
18
+
19
+
18
20
 
19
21
  ```disp.py
20
22
 
@@ -24,7 +26,7 @@
24
26
 
25
27
  sub_module = 'sys.path'
26
28
 
27
- names = dir(sub_module) # この行でエラー
29
+ names = dir(sub_module)
28
30
 
29
31
  print(names)
30
32
 
@@ -32,9 +34,27 @@
32
34
 
33
35
 
34
36
 
37
+ 文字列の情報が出力される
38
+
39
+
40
+
41
+ ```
42
+
43
+ ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
44
+
45
+ ```
46
+
47
+
48
+
49
+ ※ 最初に質問した時点では、エラーがでると記載しましたが、ryunixさんから、文法エラーがでないと指摘があり、実行状況を訂正させていただきました。ryunixさん、指摘ありがとうございます。
50
+
51
+
52
+
35
53
  # 書き方が分からない部分
36
54
 
37
- 「sys.path」の部分を文字列で指定したいです。
55
+ 「sys.path」の部分を文字列で指定し、サブモジュール「sys.path」の情報が出力されるようにしたいです。
56
+
57
+ 下記では、文字列ではなく、サブモジュール「sys.path」を直接指定してしまっています。
38
58
 
39
59
 
40
60
 
@@ -52,6 +72,18 @@
52
72
 
53
73
 
54
74
 
75
+ 出力したい結果(サブモジュールの情報を出力したい)
76
+
77
+
78
+
79
+ ```
80
+
81
+ ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
82
+
83
+ ```
84
+
85
+
86
+
55
87
  # 環境
56
88
 
57
89
  Python 3.5.2