问题标签 [shutil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1301 浏览

python - python shutil:只复制文件的一部分

代码是从一个目录读取xls文件,将其转换为csv文件并复制到另一个目录。

结果是:xls文件成功转换为csv文件,但是在new_directory中,复制的文件只包含了csv文件的一部分。

例如,原始的csv文件有30行,但在复制的文件中,只有17行。知道为什么会发生这种情况吗?

0 投票
1 回答
2517 浏览

python - 在python中复制(复制)文件

我想将所有文件从 2 个目录复制到另一个目录,但是当文件具有相同名称时,它们会在目标目录中被复制一次(由一个目录而不是两个目录)。

这是代码:

0 投票
0 回答
159 浏览

python - Linux文件系统事件和python的shutil

在 Java 7 中,我可以使用文件创建、修改等文件系统事件。但是,当我使用 Python 的shutil模块移动文件时,我的程序不会收到该事件。有谁知道为什么会发生这种情况,我该如何应对?

0 投票
2 回答
1020 浏览

python - 安全使用 shutil.rmtree / os.path.join 和目录遍历

我有一个预定义的路径,它与用户输入连接以删除特定目录。当前代码看起来像这样,并且给定这样的用户输入会造成非常严重的伤害:

这显然将允许用户删除任何文件或目录。什么是“监禁”用户的好方法,所以只能输入下面的任何路径/my/self/defined/path,处理../或启动字符串/以及我可能没有想到的所有其他恶意输入?

0 投票
3 回答
63886 浏览

python - python通过通配符复制文件

我正在学习 python (python 3),我可以通过这样做将 1 个文件复制到新目录

我现在要做的是将所有 *.txt 文件从 C:/ 复制到 C:/test

*.txt 是一个通配符,用于搜索我硬盘上的所有文本文件

0 投票
1 回答
8936 浏览

python - 以编程方式将文件移动到子目录(不使用 unix mv 命令)

是否可以通过 os.rename 或 shutil.move 将目录中的所有文件移动到同一目录的子目录中?

例如,如果我有以下结构:

  • 目录_1
    • 文件_1
    • 文件_2
    • 子目录_1

我可以得到以下结构:

  • 目录_1
    • 子目录_1
      • 文件_1
      • 文件_2?

最好的。-

编辑:最后我使用以下代码解决了我的问题:

非常感谢你们俩!

0 投票
1 回答
898 浏览

python - python将压缩的zip转换为未压缩的tar

我有一个压缩的 .zip 文件,我想将其转换为未压缩的 .tar 文件。

我做了这个功能来做到这一点:

运行时出现此错误:

这是我从https://stackoverflow.com/a/2656405/2518263获得的 onError :

我只在随机场合得到错误。解压缩功能在 75% 的时间内工作。

我不知道为什么我会收到这个错误。有人可以提出更好的方法或解决此错误的方法。


我刚换了:

和:

现在它就像一个魅力。

编辑:没关系!我仍然会收到错误,但很少见,现在大约有 20% 的时间!请帮忙!

编辑2:

好的,所以如果我提取到一个临时文件,我不会得到错误,所以我使用这个代码:

我现在工作!(希望错误不会再次发生)

编辑 3:我再次收到错误!!!!!!!!!!这真的让我很紧张。请帮助某人。

0 投票
1 回答
835 浏览

python - 在 Python 中删除 USB 设备上的树

我使用以下代码删除了 USB 设备上的一棵树,但是我收到了 OSError:

我还用 sudo python 运行了代码。

进口舒蒂尔

导入操作系统

src = "/media/device/my_folder"

如果 os.path.exists(dst):

我刚刚在另一个脚本中使用了 shutil.copytree(src, dst) 来首先将文件写入设备。但是,USB 设备在复制过程中被移除,这可能是我遇到的问题,因为除了被复制一半的文件之外的所有其他文件都已被移除。

我得到以下回溯:

所以我猜我需要在删除文件夹和文件之前更改它们的权限?

0 投票
1 回答
3469 浏览

python - 带有 Python shutil 和 .move() 函数的 Errno 22

好吧,所以我下午的大部分时间都在调试这个,我认输了。

我正在尝试创建一个系统,该系统将在我的学生工作人员完成工作后帮助自动将工作文件夹放回服务器上。到目前为止,我已经完成了所有工作——它正确识别了匹配的服务器文件夹,并且能够将服务器文件夹移动到存档文件夹中,以便在我将新作品复制回来时临时备份它。

然而,正是最后一点阻碍了我。一切都运行良好,直到我将作为参数传递的文件夹复制回服务器的部分。

这是有问题的代码:

这是这些打印语句的输出和错误代码:

我哪里错了?如果对 do shutil.move(src, dst) 的调用第一次没有问题,为什么会在这里呕吐?我尝试在初次通话后添加延迟,但没有效果。

编辑:更奇怪的是它实际上会执行移动,但似乎永远不会删除桌面上的旧文件夹。本质上,它将文件夹复制到 DST 位置,但不会自行清理。

编辑#2:调用 os.listdir 表明该目录已经消失,并且在第二次移动调用之前唯一的东西是“存档”。我明天上班时会测试 copy() 并再次访问代码。

0 投票
3 回答
5547 浏览

python - shutil.disk_usage() 中似乎存在差异

我正在使用 shutil.disk_usage() 函数来查找特定路径的当前磁盘使用情况(可用数量、已使用等)。据我所知,这是 os.statvfs() 调用的包装器。与 Linux 中“du”的输出相比,我发现它没有给出我期望的答案。

出于公司隐私的原因,我遮盖了下面的一些路径,但输出和代码在其他方面没有被篡改。我正在使用 Python 3.3.2 64 位版本。

哪个输出:

如您所见,主要问题是我希望“已使用”的第二个数量要小得多,因为它是第一个目录的子集。

尽管我相信“du”,但我很难相信 Python 模块也不正确。因此,问题可能只是我对 Linux 文件系统的理解。:)

我编写了一个模块(主要基于 SO 中某人的代码),它递归地获取我一直使用的 disk_usage。它似乎与“du”输出相匹配,但比 shutil.disk_usage() 函数慢得多,所以我希望我能做到这一点。

提前非常感谢。