python - 使用 Python 移动特定文件类型

标签 python python-2.7 file-io

我知道这对你们中的许多人来说会非常容易。我刚刚开始学习 Python,需要一些基本文件处理方面的帮助。

我截取了很多屏幕截图,这些屏幕截图最终出现在我的桌面上(因为这是默认设置)。我知道我可以更改屏幕截图设置以自动将其保存在其他地方。但是,我认为这个程序将是教我如何对文件进行排序的好方法。我想使用 python 自动对桌面上的所有文件进行排序,识别以 .png 结尾的文件(屏幕截图的默认文件类型),然后将其移动到我命名为“存档”的文件夹中。

这是我目前所得到的:

import os
import shutil
source = os.listdir('/Users/kevinconnell/Desktop/Test_Folder/')
destination = 'Archive'
for files in source:
    if files.endswith('.png'):
        shutil.move(source, destination)

我试了很多都无济于事。在这个最新版本中,我在运行程序时遇到了以下错误:

Traceback (most recent call last): File "pngmove_2.0.py", line 23, in shutil.move(source, destination) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 290, in move TypeError: coercing to Unicode: need string or buffer, list found

我的印象是我对源和目标所需的正确约定/语法有疑问。但是,到目前为止,我一直无法找到有关如何修复它的太多帮助。我使用 os.path.abspath() 来确定您在上面看到的文件路径。

在此先感谢您帮助我保持理智。

最新动态

我相信我已经很接近弄清楚这个问题了。我敢肯定,如果我继续玩弄它,我会弄清楚的。这样一直在帮助我的每个人都会更新...

这是我正在使用的当前代码:

import os
import shutil
sourcepath ='/Users/kevinconnell/Desktop/'
source = os.listdir(sourcepath)
destinationpath = '/Users/kevinconnell/Desktop/'
for files in source:
    if files.endswith('.png'):
        shutil.move(os.path.join(sourcepath,'Test_Folder'), os.path.join(destinationpath,'Archive'))

这适用于将我的“Test_Folder”文件夹重命名为“Archive”。 但是,它会移动文件夹中的所有文件,而不是移动以“.png”结尾的文件。

最佳答案

您正在尝试移动整个源文件夹,您需要指定一个文件路径

import os
import shutil
sourcepath='C:/Users/kevinconnell/Desktop/Test_Folder/'
sourcefiles = os.listdir(sourcepath)
destinationpath = 'C:/Users/kevinconnell/Desktop/Test_Folder/Archive'
for file in sourcefiles:
    if file.endswith('.png'):
        shutil.move(os.path.join(sourcepath,file), os.path.join(destinationpath,file))

关于python - 使用 Python 移动特定文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23556040/

相关文章:

Python 抓取 Websocket 数据

Python - 使用子进程的 Hive 命令 - 空结果

python - 使用python为图像添加边框

python - virtualenv 和 'python -S' 问题

java - 在Java中反转大量文本文件

c++ - C++从文件中读取字符串

php - 什么时候 Web 框架不方便使用?

python-2.7 - Python NLTK 命名实体识别取决于首字母的(大)写?

python - 将列表与文本文档进行比较

c++ - ostream 读/写函数