2017-04-14 35 views
0

我在我的NAS上有一個samba共享,可以用R/W作爲guest訪問它。從python腳本發送一個samba共享文件

從我的樹莓上的python腳本中,我想發送一些文件。

我做了下面的腳本:

from shutil import copyfile 
copyfile('/home/pi/Test/README.md', r'\\192.168.0.30\Public\test') 

我沒有錯誤,但該文件沒有發送到我的NAS。

任何想法我做錯了什麼?

+0

你能看到'\\ 192.168.0.30 \ Public'目錄嗎?你可以手動創建文件嗎?我很驚訝你沒有錯誤。你是從控制檯運行的嗎?從'copyfile'拋出異常,沒有靜默錯誤。 –

+0

是的,從我的Windows電腦,我連接到'\\ 192.168.0.30 \公共'作爲客人,我能夠寫入新的文件沒有任何問題手動。我很驚訝,你是。我正在用一個簡單的'python testCopy.py'運行這個程序。 – J4N

+0

@ Jean-FrançoisFabre另外要提到的是,我最初試圖複製到'// 192.168.0.30/Public/test',然後我有一個錯誤。 – J4N

回答

1

我最終通過創建一個網絡共享:

import subprocess 

remoteHost="192.168.0.30" 
remoteShare="Public" 
remoteSubFolder="test" 
remoteUser='picam' 
remotePassword='picam' 
localMountPoint = '/mnt/remoteServer' 
destinationFolder = localMountPoint+'/'+remoteSubFolder 

if not os.path.exists(localMountPoint): 
    os.makedirs(localMountPoint) 
command = "sudo mount -t cifs -o username="+remoteUser+",password="+remotePassword+" //"+remoteHost+"/"+remoteShare+" "+localMountPoint 
logMsg("Executing mounting command: "+command) 
subprocess.Popen(command, shell=True) 

而現在的拷貝工作。不是真的我在跳,但至少它是有效的。