首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用python将mp4文件移动到ubuntu中的另一个目录

无法使用python将mp4文件移动到ubuntu中的另一个目录
EN

Stack Overflow用户
提问于 2013-07-13 00:36:09
回答 1查看 666关注 0票数 0

我在将mp4文件从一个目录移动到另一个目录(Ubuntu Linux)时遇到了困难。当我在目录之间移动.py文件时,我在本文中包含的代码似乎工作得很好。我已经在谷歌上搜索了一些答案,但都无济于事。我已经找到了指向权限等的答案,并且我已经从以下urls中找到了帮助。

http://stackoverflow.com/questions/13193015/shutil-move-ioerror-errno-2-when-in-loop

http://stackoverflow.com/questions/7432197/python-recursive-find-files-and-move-to-one-destination-directory

我是python的新手,刚刚开始学习。当我运行python脚本来移动.mp4文件时,我得到了错误消息,请您帮我处理一下我包含的代码和错误消息。

sudo python defmove.py /home/iain/dwhelper /home/iain/newfolder .mp4

(我正在从defmove.py脚本所在的目录运行脚本,并且在运行defmove.py之前,我还确保了新文件夹不存在)

代码语言:javascript
复制
import os
import sys
import shutil

def movefiles(src,dest,ext):
    if not os.path.isdir(dest):
        os.mkdir(dest)
            for root,dirs,files in os.walk(src):
                for f in files:
                    if f.endswith(ext):
                         shutil.move(f,dest)

def main():
    if len(sys.argv) != 4:
        print 'incorrect number of paramaters'
        sys.exit(1)
    else:
         src  = sys.argv[1]
         dest = sys.argv[2]
         ext  = sys.argv[3]
         movefiles(src,dest,ext)

main()

代码语言:javascript
复制
Traceback (most recent call last):
  File "defmove.py", line 24, in <modeule>
   main()
  File "defmove.py", line 22, in main
    movefiles(src,dest,ext)
  File "defmove.py", line 11, in movefiles
    shutil.move(f,dest)
  File "/usr/lib/python2.7/shutil.py", line 301, in move
    copy2(src, real_dst)
  File "/usr/lib/python2.7/shutil.py", line 130, in copy2
    copyfile(src,dest)
  File "/usr/lib/python2.7/shutil.py", line 82, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No suck file or directory: 'feelslike.mp4'
EN

回答 1

Stack Overflow用户

发布于 2013-07-13 01:09:17

当为python I/O指定一个文件名时,它假定该文件位于当前目录中,或者位于其路径中的某个位置;如果该文件不在这些位置中的任何一个位置,则会生成一个IOError。因此,当您访问当前目录以外的目录中的文件时,指定该文件的路径是很重要的。

在您的代码中,使用f调用shutils.move只是为函数提供了一个文件名-指向该文件名的路径已被剥离。因此,对shutils.move的调用应该如下所示

代码语言:javascript
复制
shutil.move(os.path.join(root, f), dest)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17619737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档