Я использую функцию календаря в python в первый раз, это мой код:
import calendar
print ("The calender of year 2018 is : ")
print (calendar.calendar(2018,2,1,6))
print ("The starting day number in calendar is : ",end="")
print (calendar.firstweekday())
Я получаю вывод followng
The calender of year 2018 is :
Traceback (most recent call last):
File "C:/Users/AAKASH PATEL/Desktop/calendar.py", line 5, in <module>
import calendar
File "C:/Users/AAKASH PATEL/Desktop\calendar.py", line 10, in <module>
print (calendar.calendar(2018,2,1,6))
TypeError: 'module' object is not callable
Как я могу решить эту проблему?
Переименуйте имя своего сценария с calendar.py
на calendarScript.py
"C:/Users/AAKASH PATEL/Desktop/calendar.py"
в
"C:/Users/AAKASH PATEL/Desktop/calendarScript.py",
Примечание. Не называйте свой сценарий тем же именем, что и модуль.
Вы назвали свой скрипт calendar.py
, поэтому он импортируется. Вы можете увидеть это в traceback:
File "C:/Users/AAKASH PATEL/Desktop/calendar.py", line 5, in <module>
import calendar
File "C:/Users/AAKASH PATEL/Desktop\calendar.py", line 10, in <module>
print (calendar.calendar(2018,2,1,6))
Итак, import calendar
импортированный calendar.py
, который теперь имеет calendar
атрибутов, который является вашим скриптом.
Переименуйте свой скрипт, чтобы не замаскировать встроенную библиотеку; например, calendar_demo.py
будет в порядке. Как только вы это сделаете, он отлично работает, в моей системе он выводит:
The calender of year 2018 is :
2018
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1 2 3 4
8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
29 30 31 26 27 28 26 27 28 29 30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 1 2 3 4 5 6 1 2 3
2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30
30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 1 2 3 4 5 1 2
2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9
9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16
16 17 18 19 20 21 22 20 21 22 23 24 25 26 17 18 19 20 21 22 23
23 24 25 26 27 28 29 27 28 29 30 31 24 25 26 27 28 29 30
30 31
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1 2
8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
31
The starting day number in calendar is : 0
Обратите внимание, что calendar.calendar(2018)
будет достаточным; значения по умолчанию для следующих трех аргументов (w
для ширины столбца, l
для строк в неделю и c
для интервалов между столбцами месяца) равны соответственно 2, 1 и 6.
При копировании кода и его выполнении он отлично работает! Но я вижу, что это кажется вашим сценарием, где у вас этот код называется calendar.py! Python тогда думает, что это то, что вы хотите импортировать! Поэтому переименуйте свой скрипт на что-то еще!