I have a file that I would like to copy from a shared folder which is in a shared folder on a different system, but on the same network. How can I access the folder/file? The usual open() method does not seem to work?
Use forward slashes to specify the UNC Path:
open('//HOST/share/path/to/file')
(if your Python client code is also running under Windows)
//HOST/share/
to be mounted (somewhere like /mnt/share
) and the file to be opened like a regular file (open('/mnt/share/path/to/file')
). –
Slapdash //HOST/share/
to be mounted (somewhere like /Volumes/share
) and the file to be opened like a regular file (open('/Volumes/share/path/to/file')
). –
Slapdash How did you try it? Maybe you are working with \
and omit proper escaping.
Instead of
open('\\HOST\share\path\to\file')
use either Johnsyweb's solution with the /
s, or try one of
open(r'\\HOST\share\path\to\file')
or
open('\\\\HOST\\share\\path\\to\\file')
.
I had the same issue as OP but none of the current answers solved my issue so to add a slightly different answer that did work for me:
Running Python 3.6.5 on a Windows Machine, I used the format
r"\\DriveName\then\file\path\txt.md"
so the combination of double backslashes from reading @Johnsyweb UNC link and adding the r in front as recommended solved my similar to OP's issue.
My remote server is on Linux Machine and the client on Windows. For me:
glob.glob('//HOST/share/path/to/file')
works with forward slashopen(r'\\HOST\share\path\to\file')
andopen('\\\\HOST\\share\\path\\to\\file')
worked with backward slash- For
pd.read_csv()
, forward or backward slash, doesn't matter.
Slight twist on the other answers: I was testing and needed to check if a remote file existed or not. I found this code did the trick
try:
#
f = open(r'\\<server name>\<folder>\<filename>')
print("found file")
f.close()
except:
print("file not seen")
That 'close' is always a good idea (certainly in my case, where all I'm doing is checking presence).
© 2022 - 2024 — McMap. All rights reserved.