python - 用于删除 NFS 挂载文件夹中的文件的 Python subprocess.run 不会删除服务器中的文件
问题描述
我需要在我的 Python 脚本中使用 shell 命令来删除 NFS 安装文件夹中的所有文件和文件夹。
sudo mount IP:PATH/server_nfs/ PATH/client_nfs/
当我subprocess.run()
以通常的方式调用时,该命令确实删除了客户端文件夹中的所有文件,但文件仍保留在相应的服务器文件夹中(这对我来说毫无意义)。
print(subprocess.run(["sudo", "rm", "-rf", "PATH/client_nfs/*"]))
CompletedProcess(args=['sudo rm -rf PATH/client_nfs/*'], returncode=0)
但是,如果我subprocess.run()
调用 shell,它会正常运行(删除双方的文件)。
print(subprocess.run(["sudo rm -rf PATH/client_nfs/*"], shell=True))
CompletedProcess(args=['sudo', 'rm', '-rf', 'PATH/client_nfs/*'], returncode=0)
你知道为什么会这样吗?
解决方案
推荐阅读
- c# - 我想在我的列表视图中的位置 0 或第一列 (Asp.net) 中插入数字?
- c++ - C++ Lambda 表达式:捕获子句与参数列表;关键的区别是什么?
- tableau-api - 在画面中并排显示代理名称
- sql - 如何在sql b2b中为每个ID分组找到最大值
- python - 无法安装张量流压缩
- python - 24小时内的各种时间,但当它跳到第二天时它们变成负时间
- pine-script - pine 脚本中指示器功能的指示器
- c# - 我可以在构建 .net-core 应用程序后添加本地化资源 (*.resx) 吗?
- angular - Karma ng 测试未在控制台中显示构建错误
- r - 在 R 中运行 LightGBM 时出错“不支持从 'data.frame' 构建”