python - shutil.move() 到网络驱动器权限被拒绝

标签 python linux ubuntu shutil

我正在尝试编写一个简单的 python 脚本来移动文件,因为它们进入 ubuntu 中的文件夹。
我正在将文件从我的本地机器移动到我的网络 ubuntu 机器。
请参见下面的代码:

        files_in_staging = os.listdir(staging_dir)
        
        time.sleep(10)
        print(files_in_staging)

        if len(files_in_staging) > 0:
            print('files found in staging')
            time.sleep(1)

            for each in files_in_staging:
                print('moving '+each)
                shutil.move(staging_dir + each, target + each) 
直接运行脚本时,出现错误 95。
使用 sudo 运行脚本时,我得到了 PermissionError。我尝试将 os.uid 设置为用户无济于事。
有什么方法可以为许可提供密码+用户名吗?
复制粘贴文件顺利进行

最佳答案

计算路径名是错误的,而不是:

shutil.move(staging_dir + each, target + each) 
但:
shutil.move(
    os.path.join( staging_dir, each ),
    os.path.join( target, each )
)

关于python - shutil.move() 到网络驱动器权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67452332/

相关文章:

c++ - 实现高分辨率定时器的最佳方式

bash - 以其他用户身份运行时,bashrc 文件中的导出变量不可见

python - Image.open() 给出纯白色图像

Python Numpy - 创建长度基于一维数组的二维数组

c++ - opengl 游戏开发中的 Mono c# vs c++?

linux - 我如何告诉 bash 脚本从头开始?

java - Unity AndroidJavaObject 无法正常工作而不显示错误

c - 如何在 C 程序中从命令行打开和读取二进制文件

Python 和 Asterisk

python - 重命名重构期间退格键、删除键和箭头键的行为