Ich habe Probleme mit Python und ZIP-Datei, nämlich: Ich kann keine zweite Datei zu meiner Zip hinzufügen. hier ist mein Code, wenn Sie mehr brauchen, werde ich froh sein, es zur Verfügung zu stellen.Python Zipfile mehrere Dateien
def zipDir(fn_source, fn_destinationFolder):
''' fn_destinationFolder = folder to zip
fn_source = destination path for the zip
'''
fn_zipfileName = os.path.join(os.path.dirname(os.path.basename(fn_source)),fn_destinationFolder)+'.zip'
with zipfile.ZipFile(fn_zipfileName, 'w') as fn_zipfile:
for csvFile in os.listdir(fn_destinationFolder):
# fn_zipfile.write(csvFile)
if csvFile.endswith('.csv'):
try:
# fn_zipfile.write(os.path.join(fn_destinationFolder,csvFile)) ## write the whole filestructure to zip, '/home/uname/.../xyz.zip'
fn_zipfile.write(csvFile) ## write only the file to zip 'xyz.zip'
except IOError:
None
print('did not add',csvFile,'to',fn_zipfile)
fn_zipfile.printdir()
return fn_zipfileName
im "Test" dir, habe ich 2 Dateien: "Beispiel.csv" und "example1.csv" dies in dem folgenden Fehler führt:
python3.5 removing_the_header_from_CSV.py --from test --to zip
Removed headers from example.csv
Removed headers from example1.csv
did not add example1.csv to <zipfile.ZipFile filename='/home/xxx/repos/automate_the_boring_stuff/14_csv_files_and_json_data/NEW_test_2016-05-22_12-19-23.zip' mode='w'>
File Name Modified Size
example.csv 2016-05-20 17:12:19 191
zipfile can be found at /home/xxx/repos/automate_the_boring_stuff/14_csv_files_and_json_data/NEW_test_2016-05-22_12-19-23.zip
wenn ich das nur " fn_zipfile.write (csvfile)“, bekomme ich diese extra info:
python3.5 removing_the_header_from_CSV.py --from test --to zip
Removed headers from example.csv
Removed headers from example1.csv
Traceback (most recent call last):
File "removing_the_header_from_CSV.py", line 169, in <module>
main()
File "removing_the_header_from_CSV.py", line 156, in main
zipfileName = zipDir(source, destinationFolder)
File "removing_the_header_from_CSV.py", line 112, in zipDir
fn_zipfile.write(csvFile)
File "/usr/lib/python3.5/zipfile.py", line 1433, in write
st = os.stat(filename)
FileNotFoundError: [Errno 2] No such file or directory: 'example1.csv'
ich schon versucht, diesen mit verschiedenen Dateien und immer das gleiche Ergebnis, außer wenn ich 1 Datei in meinem Test dir nur. Dann funktioniert alles wie erwartet.
Warum denken Sie, die Ausnahme liegende? –
weil ich ein ls gemacht habe grep xxx und habe die Datei auch, warum wird die erste Datei hinzugefügt? – Sybie
Versteh mich nicht falsch, ich bin sicher, dass Python die Datei nicht finden kann. Meine Frage ist: "Wie behebe ich mein Problem?" – Sybie