Slackにあるファントムファイルを削除します。以下は私のスクリプトです。 IndexErrorリストのインデックスが範囲外のエラーになっています。誰かが私が間違っていることを助けてくれますか?IndexError wrong error Python
import Slacker
import sys
import time
from datetime import timedelta, datetime
def main(token, weeks=4):
slack = Slacker(token)
total = slack.files.list(count=1).body['paging']['total']
num_pages = int(total/1000.00 + 1)
print("{} files to be processed, across {} pages".format(total, num_pages))
files_to_delete = []
ids = []
count = 1
for page in range(num_pages):
print ("Pulling page number {}".format(page + 1))
files = slack.files.list(count=1000, page=page+1).body['files']
for file in files:
print("Checking file number {}".format(count))
if file['id'] not in ids:
ids.append(file['id'])
if datetime.fromtimestamp(file['timestamp']) < datetime.now() - timedelta(weeks=weeks):
files_to_delete.append(file)
print("File No. {} will be deleted".format(count))
else:
print ("File No. {} will not be deleted".format(count))
count+=1
print("All files checked\nProceeding to delete files")
print("{} files will be deleted!".format(len(files_to_delete)))
count = 1
for file in files_to_delete:
print("Deleting file {} of {}".format(count, len(files_to_delete)))
slack.files.delete(file_=file['id'])
print("Deleted Successfully")
count+=1
return count-1
if __name__ == "__main__":
try:
token = sys.argv[1:]
except IndexError:
print("Usage: python file_deleter.py api_token\nPlease provide a value for the API Token")
sys.exit(2)
main(token[0])
最終行のメイン(トークン[0])にエラーが発生します。
Traceback (most recent call last):
File "C:/Users/aqureshi/Desktop/Programming/Slacker.py", line 50, in <module>
main(token[0])
IndexError: list index out of range
どのようにプログラムを実行しますか?私はいくつかの議論を通過していると思いますか? –
ファイルをどのように実行しているかを言うべきです.... 'sys.argv [1:]'はコマンドライン引数を期待しています。 –
このスクリプトは上級開発者から私に転送されています。私はそれが動作するはずだと思ったが、私はここに要素がないことを知っている。あなたがそれらの要素を強調することができれば、私はそれを感謝します。 –