问题标签 [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.
move - 在shutil.move操作期间覆盖目录中已经存在的文件
我有一个源文件,我正在使用它移动到存档目录
shutil.move(srcfile, dstdir)
但是,当归档目标目录中已经存在相同的文件时,它会抛出一个错误,指出无法移动文件已经存在。所以我想覆盖现有文件。有没有办法做到这一点?
python - 如何在不覆盖 python 中的任何数据的情况下合并两个文件?
我需要连接两个文件,一个包含一个数字,另一个包含至少两行数据。我已经尝试过 shutil.copyfile(file2,file1) 和 subprocess.call("cat " + file2 + " >> " + file1, shell=True),两者都给了我相同的结果。具有单个数字的文件包含一个整数和一个换行符(即两个字符),因此当我将两个文件放在一起时,file2 的前两个字符将被覆盖,而不是仅添加到末尾。如果我使用“cat file2 >> file1”通过 shell 执行此操作,则不会发生这种情况,并且效果很好。
这就是我的意思:
所以而不是得到:
我得到:
我不知道是什么导致了这个问题,但这非常令人沮丧。有什么建议么?
python - 如何检查 PYthon 中是否存在“dst”路径
检查路径是否存在且文件在 dst 变量中不存在的最佳方法是什么。
PS:如果这是一个愚蠢的问题,我很抱歉,但最好的学习方法是犯错误!
python - 追加和检查文件位置的最佳方法
我仍在学习 Python,但除了 try-except 方法之外,这是附加文件以进行复制的适当方法吗?
还有一种方法可以使用 switch 语句,或者在 Python 中可以接受多个 if 语句
python - 存在[错误32]时如何在python中删除文件夹
我正在使用python 2.7。我想删除一个可能为空也可能不是空的文件夹。该文件夹由线程处理以进行文件监视。我无法杀死线程,但想以任何方式删除此文件夹。我试过了
但是,它没有用。它显示错误,因为[Error 32] The process cannot access the file because it is being used by another process: 'c:\\users\\cipher~1\\appdata\\local\\temp\\fis\\a0c433973524de528420bbd56f8ede609e6ea700'
我想删除文件夹a0c433973524de528420bbd56f8ede609e6ea700
或删除整个路径也足够了。
python - 使用与源文件相同的树文件夹模式匹配某些年龄和扩展名的 shutil.copy 复制文件
此代码应在定义的文件夹列表中备份新文件。它应该每小时完成一次,另一个代码清除旧文件的目标文件夹。
首先我定义时间,如果文件夹中的任何文件超过 3 天,它就不会复制它。
Source_pole 是要从中复制的文件列表。
Destination_root 是要复制到的目标,其中 driveName 是备份介质的盘符。
我还想从 C:\folder 中仅复制 *.txt 文件,这就是定义 files_pattern 的原因。但现在我只想复制工作正常。
该功能工作正常,它只复制那些新文件。
但是它从 source_pole 中获取所有匹配的文件,并将它们全部复制到destination_root 中而没有文件夹,但我希望它们在源中的确切文件夹中。
我知道 shutil.copytree 会更好,但这应该是每小时运行一次的备份脚本,我不知道如何处理文件夹已经存在的错误。
os.walk(root_path) 返回列表中源文件的目录名,如果该文件夹不存在,那么我需要 os.makedirs(那个文件夹),对吗?但是怎么做?
看来我正在写类似于 shutil.copytree 的东西(http://docs.python.org/2/library/shutil.html#copytree-example)
EDIT1:对于:
作品
但是如果我在 source_pole 中选择了另一个文件路径,我将不得不在替换时更改字符串...
必须有更好的方法在目的地创建相同的树结构,这很混乱。
EDIT2:所以我只是编辑了shutil.copytree函数并添加了if文件的年龄,匹配模式,不覆盖相同的文件并将只读文件写入可写。它对我的使用很好,只是它不是很快(大约 2MB/s),但我对它不满意,因为在 shutil.py 中有“考虑这个示例代码而不是终极工具”。在copytree函数中。
更大的问题是,当函数在打开 *.docx 文件等时偶然发现像 ~$* 文件这样隐藏的文件时,它以错误 13: Permission Denied 结尾,我无法排除此错误。我只是在忽略参数中使用 shutil.ignore_patterns('~$*') 来避免它。知道错误可能在哪里吗?
顺便说一句:我想让文件夹参数仅在某些级别复制文件,但我能想到的唯一方法是在 src 中计算 '\' ,当它达到某个 '\' 计数然后停止。有更好的想法吗?
python - 在python中将两个源文件复制到一个目标
你们对我的最后一个问题非常有帮助,所以我想我会看看你是否能再次帮助我。现在,我有一堆名为 P2_## 的文件夹,每个文件夹都包含两个文件夹 0_output 和 1_output。在每个输出文件夹中,我都有一个名为 Bright_Combo.txt 的文件。我想要做的是将两个输出文件夹中的数据复制到 P2_## 文件夹中的 Bright_Sum.txt 文件中。这是我目前得到的代码,但问题是它只从 1_output 文件夹复制数据,并且在一种情况下将 Bright_Sum 文件的空副本保存到 0_output 文件夹中。
感谢大家的帮助=)
python - Python shutil.copy 在 FAT 文件系统(Ubuntu)上失败
问题:在 Linux 中使用 shutil.copy() 将文件复制到 FAT16 挂载的文件系统失败(Python 2.7.x)。失败是shutil 内部错误,实际上在shutil.chmod 上失败,而shutil.copy 似乎正在执行。
Shell chmod 也失败了,因为 FAT 不支持权限。
问题:有什么巧妙的方法可以解决这个问题吗?我知道我有几个选择,例如:
- 使用 copyfile - 不理想,因为它需要完整路径,不仅仅是目标目录,而是可行的
- 执行shell cp 复制文件
- 编写不尝试更改文件模式的自己的复制功能
有没有办法在 Python 或 FAT 挂载选项中解决这个问题?我现在通过执行 mount -t vfat -o umask=000 /dev/loop0 /mnt/foo 在我的程序中安装文件系统
捕获异常没有帮助,因为异常发生在 shutil.copy 内部,而当它从 shutil.chmod() 捕获 IOException 时,shutil.copy() 似乎删除了目标文件,然后将 IOException 传递给调用函数。
有什么想法,还是我应该从 1-3 中选择一个?
汉努
import - 在 Python 中从偶数命名的文本文件中分离和处理奇数命名的文本文件
我是编程和 python 的新手,正在尝试编写一个程序来处理天文数据。我有一个巨大的文件列表,命名为 ww_12m_no0021.spc、ww_12m_no0022.spc 等。我想将所有奇数文件和偶数文件移动到两个单独的文件夹中。
这实际上是将所有 spc 文件复制到不同的文件夹。我在如何只能将奇数文件(no0021、no0023……)复制到单独的文件夹中苦苦挣扎。任何帮助或建议将不胜感激!!!
python - 如何加快 shutil.copy() 的速度?
在这里,我在 python 中使用代码,例如:
在执行此操作时,如果我复制一个冗长的文件,则复制需要花费太多时间。有什么减少时间的建议吗?