Python-python复制U盘内特定后缀名文件失败

发布于 2017-01-08 12:01:00 字数 257 浏览 1187 评论 1

从本地磁盘复制成功,从U盘复制失败。
求教大牛。
代码

错误信息

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

虐人心 2017-04-17 02:06:54

21 行开始n.append(filename) 改为 n.append(os.path.join(root,filename))

看下面一个例子,我在/tmp 目录下创建一个test文件夹,文件夹结构如下:

/tmp/test
├── intest2.file
├── intest3.file
├── intest.file
├── test1
│   ├── intest1.file
│   └── subtest
│   └── insubtest.file
└── test2
├── intest2.file
└── subtest
└── insubtest.file

python中执行结果:

>>> for root, dirs, files in os.walk("/tmp/test"):
... print "rootdir:",root
... print "subdirs:",dirs
... print "files:",files
...
rootdir: /tmp/test
subdirs: ['test2', 'test1']
files: ['intest3.file', 'intest2.file', 'intest.file']
rootdir: /tmp/test/test2
subdirs: ['subtest']
files: ['intest2.file']
rootdir: /tmp/test/test2/subtest
subdirs: []
files: ['insubtest.file']
rootdir: /tmp/test/test1
subdirs: ['subtest']
files: ['intest1.file']
rootdir: /tmp/test/test1/subtest
subdirs: []
files: ['insubtest.file']

现在一切都明朗了,rootdir, dirs, files都不断的在迭代,所以你24行处,仅仅是使用了最后一次迭代的rootdir

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文