gpt4 book ai didi

python 3 : accessing windows share under Linux by UNC path

转载 作者:行者123 更新时间:2023-12-05 06:39:04 25 4
gpt4 key购买 nike

首先,让我们确保 windows 共享是可访问的:

$ sudo mkdir /mnt/test

让我们尝试挂载,但它失败了:

$ sudo mount -t cifs //192.168.0.10/work /mnt/test
mount: wrong fs type, bad option, bad superblock on //192.168.0.10/work,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)

In some cases useful info is found in syslog - try
dmesg | tail or so.

但是如果提供虚拟用户/密码(即准确指向'USERNAME'和'PASSWD'),挂载成功:

$ sudo mount -t cifs -o username=USERNAME,password=PASSWD //192.168.0.10/work /mnt/test
$ ls /mnt/test/*.txt
/mnt/test/1.txt
$ umount test

现在让我们试试 python:

$ python -V
Python 3.5.2+
$ python
>>> import os
>>> os.listdir(r'//192.168.0.10/work')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '//192.168.0.10/work'

我正在尝试使用或不使用 r、unicode 转义 (bytes(path, "utf-8")).decode("unicode_escape") 将四个斜杠、反斜杠组合起来),所有这些都失败了,No such file or directory。失败的原因可能是用户/密码,但我不知道如何将它添加到 UNC。

附言。我还尝试了 pysmb 库,它在没有用户/密码的情况下工作正常。但如果可能的话,我不想使用额外的库。

最佳答案

您必须在 Linux 上挂载 UNC 路径。除非安装路径,否则操作系统无法理解两个反斜杠。因此,要使其自动化,只需编写一些 Python 代码来调用必要的 Linux 命令来完成挂载任务,然后像往常一样引用文件路径。

从 Python 运行 Linux“ls”命令的示例。

import os
os.system('ls')

现在按照这两种方法之一。

https://unix.stackexchange.com/questions/18925/how-to-mount-a-device-in-linux

https://www.putorius.net/mount-windows-share-linux.html

关于 python 3 : accessing windows share under Linux by UNC path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45100049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com