Python calendar.monthrange
関数を使用して1か月間の日数を印刷しようとしています。Pythonで変数を使用しているときのエラーcalendar.monthrange
私は毎月1日にcronで実行され、前の月の日数を返す必要があるスクリプトを用意しています。 また、矢印モジュールを使用して、スクリプト全体で使用している日付/時刻の呼び出しをより適切に処理し、フォーマットします。
前の月の日数は、スクリプトが実行されている日から1日後であるため、私はtimedeltaで1を引いただけです。ここで
は私のコードの非常に減少したバージョンであるが、これは働い一部です:
import calendar
import arrow
import time
from datetime import date, timedelta
yesterday = date.today() - timedelta(1)
cYfDate = yesterday.strftime('%Y.%m.%d')
cYfDateY = arrow.get(cYfDate).format('YYYY')
cYfDateM = arrow.get(cYfDate).format('M')
print cYfDateY
print cYfDateM
print calendar.monthrange(cYfDateY + ',' + cYfDateM)[1]
最初の2本の印刷ラインが完全に動作し、&月正しい年を表示しかし、第三の印刷でエラーが発生します:
Traceback (most recent call last):
File "/home/pi/SystemChecker.py", line 15, in <module>
print calendar.monthrange(cYfDateY + ',' + cYfDateM)
TypeError: monthrange() takes exactly 2 arguments (1 given)
明らかに2つある場合は、なぜ1つの議論しかないのかわかりません。
エラーがクリアされている、あなたは2つの引数の代わりに、1 – ettanany
を渡す必要があり、私はそのお持ちでない場合は:cYfDateY&cYfDateM? – 1cm69
'calendar.monthrange(cYfDateY、cYfDateM)'のようなもの – ettanany