2017-08-08 1 views
0

Ich bin neu in Python und der folgende Code wirft die error.Please mir Code zu Schwierigkeiten helfen shoot.This ist für die Verwendung von Dateien zum Download von Amazon Web Service (AWS).Python Fehler für Dateien von AWS Download

import boto 
import os 

cwd = 'T:\\Amazon_receive\\AWS\\' 
os.chdir(cwd) 

S3_BUCKET = 'User_Name' 
ACCESS_KEY = 'Password' 
SECRET_KEY = 'aed1234xyz' 
conn = boto.connect_s3(ACCESS_KEY, SECRET_KEY) 
bucket = conn.get_bucket(S3_BUCKET, validate=False) 

def feeding_data(name, folder_path): 
    if not os.path.exists(os.path.join(cwd, name)): 
     os.mkdir(name) 
     os.chdir(name) 
    else: 
     os.chdir(name) 
    files = os.listdir() 

    for k in bucket.list(prefix=folder_path): 
     fn = k.name.split('/')[-1] 
     try: 
      if fn not in files: 
       k.get_contents_to_filename(fn) 
     except FileNotFoundError: 
      pass 

    os.chdir('..') 

name = 'most_current_eb' 
folder_path = '5776/frontend_5776/custom_output/most_current_eb/' 
name = 'most_current_eb' 
feeding_data(name, folder_path) 

ERROR ##

Traceback (most recent call last): 
    File "C:\Python27\EA_Atribution.py", line 35, in <module> 
    feeding_data(name, folder_path) 
    File "C:\Python27\EA_Atribution.py", line 20, in feeding_data 
    files = os.listdir() 
TypeError: listdir() takes exactly 1 argument (0 given) 
>>> 

Danke, Mathew George

Antwort

0

Da der Fehler so eindeutig fest:

TypeError: listdir() takes exactly 1 argument (0 given) 

Sie sollten ein Argument liefern (genau 1) zu listdir(), das ... Verzeichnis.

+0

Können Sie bitte erneut den Code mit dem richtigen Argumente schreiben. Ich bin neu in diesem Python. –

+0

Ich weiß nicht, das Verzeichnis, das Sie verwenden möchten ... vielleicht 'folder_path'? Oder etwas anderes? – Idos

+0

welcher Ordner Pfad, um ihn, der einer von amazon oder dem lokalen Pfad verweisen? –