0

BusinessHours PyPi パッケージを使用して、日付間の営業日と祝日を計算していますが、「定義されていません」というエラーが発生しているようです (以下)。

パッケージを呼び出す方法の例を示します。

eg: Class:  BusinessHours(datetime1,datetime2,worktiming=[9 ,18],weekends=[6,7],holidayfile=None)

Class Parameters:
datetime1   - The datetime object with the starting date.
datetime2   - The datetime object with the ending date.
worktiming  - The working office hours . A list containing two values start time and end time
weekends    - The days in a week which have to be considered as weekends sent as a list, 1 for monday ...  7 for sunday.
holidayfile - A file consisting of the predetermined office holidays.Each date starts in a new line and currently must only be in the format dd-mm-yyyy

from BusinessHours import BusinessHours
from datetime import datetime
testing = BusinessHours(datetime(2007,10,15),datetime.now())
print testing.getdays()

この情報を使用して、以下のテストスクリプトを作成しました

from BusinessHours import BusinessHours
from datetime import datetime
holidaytextfile = 'holidays.txt' 

testing = BusinessHours(datetime(2013,02,01),datetime(2013,02,28),worktiming=[9 ,18],weekends=[6,7],holidayfile=holidaytextfile)
print testing.getdays()

私の休日ファイルには次のものが含まれています(2月のランダムな営業日)

07-02-2013

スクリプトを実行すると、以下のエラーが発生します。

Traceback (most recent call last):
File "business_days", line 9, in ?
print testing.getdays()
File "/usr/lib/python2.4/site-packages/BusinessHours.py", line 63, in getdays
holidate = date(int(year) , int(month) , int(day))
NameError: global name 'date' is not defined

これは、パッケージのコード セクションです。

 60             for definedholiday in definedholidays:
 61                 flag=0;
 62                 day , month , year = definedholiday.split('-')
 63                 holidate = date(int(year) , int(month) , int(day))
 64                 for weekend in self.weekends:
 65                      #check if mentioned holiday lies in defined weekend , shouldnt deduct twice
 66                     if(holidate.isoweekday==weekend):
 67                         flag=1;
 68                         break;

私のPythonバージョンは2.4.3です。

4

1 に答える 1

0

そのパッケージはよく書かれていません。コードを見ると、何もインポートされていませんが、インポートする必要があるモバイルから関数を使用しようとしています (例: date)。

パッケージを送信した人がうまくいかなかったようです。これを行うには、独自のコードを実装する必要がある場合があります (おそらく、いくつかのロジックを一般的なガイドとして使用します)。

于 2013-02-14T06:02:33.167 に答える