pyfilesystem2 | |||
six | |||
pysmb |
Install directly from PyPI, using pip
pip install fs.smbfs
Use fs.open_fs
to open a filesystem with an SMB
FS URL:
import fs
smb_fs = fs.open_fs('smb://username:password@SAMBAHOSTNAME:port/share')
The opener can use either an IPv4 address or a NetBIOS hostname, using the NetBIOS name service to find the other token.
The following parameters can be passed as URL parameters: timeout
,
name-port
, direct-tcp
.
import fs.smbfs
smb_fs = fs.smbfs.SMBFS(
host, username='guest', passwd='', timeout=15,
port=139, name_port=137, direct_tcp=False
)
with each argument explained below:
host
- the name or IP address of the SMB server
user
- the username to connect with, defaults to 'guest' for anonymous connection.
passwd
- an optional password, defaults to '' for anonymous connection.
timeout
- the timeout, in seconds, for NetBIOS and TCP requests.
port
- the port the SMB server is listening on.
naming_port
- the port the NetBIOS naming service is listening on
direct_tcp
- set to True if the server is accessible directly through TCP, leave to False for maximum compatibility
Once created, the SMBFS
filesystem behaves like any other filesystem
(see the Pyfilesystem2 documentation),
except if it was open in the root directory of the server, in which case the
root directory of the SMBFS
instance will be read-only (since SMB clients
cannot create new shares).
Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker of the project if you need to report or ask something. If you are filling in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproductible situation.
- fs, the core Pyfilesystem2 library
- fs.archive, enhanced archive filesystems for Pyfilesystem2
- fs.sshfs, Pyfilesystem2 over SSH using paramiko