# Make a Dictionary of files in ZipFile indexed by filename

**URL:** <https://discourse.julialang.org/t/make-a-dictionary-of-files-in-zipfile-indexed-by-filename/65533>\
**Category:** New to Julia\
**Tags:** dictionary\
**Created:** [July 29, 2021, 10:57pm UTC](https://discourse.julialang.org/t/make-a-dictionary-of-files-in-zipfile-indexed-by-filename/65533 "2021-07-29T22:57:18Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![banksiaboy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/banksiaboy/32/27032_2.png) [@banksiaboy](https://discourse.julialang.org/u/banksiaboy)\
**Post date:** [July 29, 2021, 10:57pm UTC](https://discourse.julialang.org/t/make-a-dictionary-of-files-in-zipfile-indexed-by-filename/65533/1 "2021-07-29T22:57:18Z")

</div>

I was hoping this would work, but get all sorts of weird stuff.

```julia
using ZipFile
z = ZipFile.Reader(archive_filepath)
files = z.files
iter = (f -> f.name => f for f in files) # which is Base.Generator{Vector{ZipFile.ReadableFile},
d_by_name = Dict(iter)

```

was hoping for  
Dict{String,ZipFile.ReadableFile}

getting error:  
`LoadError: ArgumentError: Dict(kv): kv needs to be an iterator of tuples or pairs`

I am totally lost…

ZipFile documentation seems very incomplete…

---

<div class="post-metadata">

**Author:** ![banksiaboy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/banksiaboy/32/27032_2.png) [@banksiaboy](https://discourse.julialang.org/u/banksiaboy)\
**Post date:** [July 29, 2021, 11:07pm UTC](https://discourse.julialang.org/t/make-a-dictionary-of-files-in-zipfile-indexed-by-filename/65533/2 "2021-07-29T23:07:25Z")

</div>

Looks like I was over-wrapping the iterator. Dict() seems specialized.  
This works

```julia
using ZipFile
z = ZipFile.Reader(archive_filepath)
z_by_name = Dict( f.name => f for f in z.files)

```
