Tahukah Anda apa masalahnya dengan aplikasi labu saya yang digunakan di pythonanywhere? Ketika saya mencoba mengunjungi browser titik akhir, kembalikan saya kesalahan:

Kesalahan Server Internal Server mengalami kesalahan internal dan tidak dapat menyelesaikan permintaan Anda. Entah server kelebihan beban atau ada kesalahan dalam aplikasi.

Catatan eror:

2018-05-02 18:06:51,507:   File "/home/jobad/.virtualenvs/deploy/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
2018-05-02 18:06:51,507:     return self.view_functions[rule.endpoint](**req.view_args)
2018-05-02 18:06:51,507:   File "/home/jobad/scrapping/app.py", line 75, in antal
2018-05-02 18:06:51,507:     antal_export('Antal')
2018-05-02 18:06:51,507:   File "/home/jobad/scrapping/antalpl.py", line 100, in antal_export
2018-05-02 18:06:51,507:     with open( 'export/%s.csv' %company_name, 'w', newline='', encoding='utf-8' ) as csvfile:
2018-05-02 18:06:51,508: FileNotFoundError: [Errno 2] No such file or directory: 'export/Antal.csv'

Kode fungsi di sini:

def antal_export(company_name):
    global a
    test = []

    for document in a:
        event_obj = {}
        event_obj['company_name'] = document['company_name']
        event_obj['category'] = document['category']
        event_obj['offers'] = document['offers']
        test.append( event_obj )

    try:
        os.remove( 'export/%s.csv' %company_name )
        with open( 'export/%s.csv' %company_name, 'w', newline='', encoding='utf-8') as csvfile:
            fields = ['category', 'offerts']
            writer = csv.DictWriter( csvfile, fieldnames=fields, delimiter=';' )
            writer.writeheader()
            writer.writerows( test )
    except:
        with open( 'export/%s.csv' %company_name, 'w', newline='', encoding='utf-8' ) as csvfile:
            fields = ['company_name', 'category', 'offers']
            writer = csv.DictWriter( csvfile, fieldnames=fields, delimiter=';' )
            writer.writeheader()
            writer.writerows( test )

    a = []

Dan pohon folder:

(deploy) 18:06 ~/scrapping (master)$ ls
Procfile     antal2.py   experispl.py     graftonpl.py  infopracapl.py    pracapl.py     requirements.txt
__pycache__  antalpl.py  export           hayspl.py     manpower.py       pracujpl.py    static
all.py       app.py      goldenlinepl.py  hrkpl.py      michaelpagepl.py  randstadpl.py  templates

Di heroku semuanya berfungsi dengan baik tetapi saya tidak dapat menggunakannya - ini adalah aplikasi pengikisan dan beberapa permintaan lebih dari 30 detik.

0
derriadiergummi 2 Mei 2018, 21:18

1 menjawab

Jawaban Terbaik

Dengan PythonAnyWhere, pastikan Anda menyediakan path lengkap dari file .csv (Anda harus menentukan path lengkap untuk file apa pun yang Anda gunakan seperti file .db atau .txt). Berdasarkan traceback dan pohon folder yang Anda berikan, seharusnya:

path = '/home/jobad/scrapping/export/{}.csv'.format(company_name)

Yang pada gilirannya dapat digunakan untuk semua tindakan Anda yang membutuhkan file:

os.remove(path)
with open(path, 'w', newline='', encoding='utf-8') as csvfile:
   ...
3
Ajax1234 2 Mei 2018, 19:26