Чтение удаленного файла с правами доступа - PullRequest
0 голосов
/ 09 февраля 2012

Я пытаюсь прочитать файл на сетевом сервере (с компьютера с Windows XP), к которому я обычно обращаюсь, запрашивая \\ServerName\dirPath\ в диалоговом окне запуска.

Прямо сейчас мне нужноНапишите программу, которая считывает файл с сервера и возвращает результаты на моем ПК.

Проблема, с которой я сталкиваюсь, состоит в том, что имя для входа на моем компьютере не имеет учетной записи на сервере.В результате я не могу прочитать файл на сервере, когда я пытался:

f = open(r'\\server\path\to\file', 'r')

Я знаю, что я могу это исправить, добавив учетную запись пользователя на сервер или на мой компьютер, но за исключениемэти решения, есть ли способ передать учетные данные для входа на сервер?

Я использую Windows XP на своем ПК и немного Linux на сервере

Спасибо

Ответы [ 2 ]

2 голосов
/ 09 февраля 2012

Вы говорите, что это общий ресурс Samba - посмотрите на PySmbClient . Таким образом, вы можете сделать что-то вроде этого:

client = smbclient.SambaClient(server="servername", share="sharename",
    username="foo", password="bar", domain="baz")
f = smb.open('/path/to/file')
data = f.read()
f.close()

Доступны средства оповещения, такие как PySamba .

2 голосов
/ 09 февраля 2012

Олицетворение с использованием модулей win32 может работать для вас.См. Этот ActiveState Recipe

Я раньше использовал инструмент командной строки Technet Runas вручную.В крайнем случае вы можете использовать это с вызовом подпроцесса, чтобы скопировать файл в локальный временный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...