我必须将文件从我的桌面复制到我的挂载目录。我使用以下命令将文件从我的桌面复制到挂载目录。
os.system("cp -f /home/Desktop/filename /media/folder_1").
它运行正常。但问题是,在将文件从我的源复制到已安装目录(folder_1)时,如果发生任何中断(例如网络中断),则系统会不断尝试。它无法跳过该过程。最后,当网络恢复时,文件会再次复制到我的已安装目录中。由于这种不断的尝试,下次我尝试移动内容时,它会抛出“权限被拒绝”错误。
我如何只复制一次文件,如果发生任何网络问题,它就不会继续尝试复制,而是会抛出错误。如果你知道,请告诉我。这对我很有用。
答案1
os.system
许多人都过度使用了调用。您正在运行 Python 脚本,然后运行 Python,而不是 Bash!
使用os.system
将大大降低程序的功能。您遇到了一个很大的缺点,您必须询问os.system
调用是否出了问题。只需使用 Python 方法并捕获异常即可。
在 Python 中,复制数据是通过shutil
模块。
答案2
-f 参数是你的问题。
从手册页
-f, --force
if an existing destination file cannot be opened, remove it and
try again
你可能想要--remove-destination