回答編集履歴

1

説明追加

2021/11/18 23:20

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -15,3 +15,81 @@
15
15
  ```
16
16
 
17
17
  に変更しましょう。
18
+
19
+
20
+
21
+ 原因説明
22
+
23
+
24
+
25
+ import pathlib as Path
26
+
27
+
28
+
29
+ は以下とほぼ同等です。
30
+
31
+ ```python
32
+
33
+ import pathlib
34
+
35
+ Path = pathlib
36
+
37
+ ```
38
+
39
+
40
+
41
+ 一方で、
42
+
43
+
44
+
45
+ from pathlib import Path
46
+
47
+
48
+
49
+ は以下とほぼ同等です。
50
+
51
+ ```python
52
+
53
+ import pathlib
54
+
55
+ Path = pathlib.Path
56
+
57
+ ```
58
+
59
+ import pathlib as Pathの場合、Pathはmoduleです。
60
+
61
+
62
+
63
+ ```python
64
+
65
+ >>> import pathlib as Path
66
+
67
+ >>> print(Path)
68
+
69
+ <module 'pathlib' from 'C:\Users\myname\anaconda3\lib\pathlib.py'>
70
+
71
+ ```
72
+
73
+ そのため
74
+
75
+
76
+
77
+ TypeError: 'module' object is not callable
78
+
79
+
80
+
81
+ となります。
82
+
83
+
84
+
85
+ ```python
86
+
87
+ >>> from pathlib import Path
88
+
89
+ >>> print(Path)
90
+
91
+ <class 'pathlib.Path'>
92
+
93
+ ```
94
+
95
+ だとPathはclass ですのでcallableとなります。