The function you implement (WalkDirFunc should receive "p" as the path to
the parent  (that seems to be what you want) and "d" as the current
directory entry.
I am not sure why in your example you are showing full paths to the file
for "p".



On Sat, Jan 14, 2023 at 3:39 PM Pat Farrell <pat22...@gmail.com> wrote:

> I'm using the reasonably new FileSystem style to do the usual directory
> walk
> processing every file in the usual recursive manner.
> I can't figure out how to get the directory data (the path up to the last
> /)
> even though I can see it in the output.
>
> I am missing the proper name of the getter, or perhaps a cast/type
> assertion
>
>
> Playground:
> https://go.dev/play/p/Fde-rAA5YZI
>
> The key code is
>     fsys := os.DirFS(".")
>     fs.WalkDir(fsys, ".", func(p string, d fs.DirEntry, err error) error {
>             fmt.Printf("%s  struct: %T  %v\n", p, d, d)
>
> which prints "'p" the current file name and extension
> the type of the fs.DirEntry and then the fsDirEntry structure
>
> Something like this:
> csvtsd/csvtsd.go  struct: *os.unixDirent  &{../csvtsd csvtsd.go 0 <nil>}
> csvtsd/csvtsd_test.go  struct: *os.unixDirent  &{../csvtsd csvtsd_test.go
> 0 <nil>}
> csvtsd/go.mod  struct: *os.unixDirent  &{../csvtsd go.mod 0 <nil>}
>
> You can see that the "p" is typically the path and filename
> csvtsd/csvtsd.go
> the type is a  *os.unixDirent
> and there are four fields in the Dirent, the path (up to the last /)
> the filename and extension, and two other fields.
>
> Thanks
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/99c9d821-be0e-4763-ab40-72e3af61c511n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/99c9d821-be0e-4763-ab40-72e3af61c511n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CANKfucZx3QZdJ4heXEXLO6LuB5eE71UwQg3rYNH6BiQzhrvgvg%40mail.gmail.com.

Reply via email to