如何从批处理文件写入Windows网络共享?

时间:2014-10-01 18:21:21

标签: python windows batch-file

我在本地计算机上有一个批处理脚本,它在Windows网络共享上调用Python脚本,应该在那里写一个文件。如果我在没有批处理文件的情况下运行Python脚本,它会成功运行。如果我运行批处理文件,我会收到此错误:

Traceback (most recent call last):
File "python_script.py", line 25 in <module>
 IOError: [Errno 13] Permission denied: 'outfile.txt'

Python脚本与&#34; outfile.txt&#34;位于同一目录中。

以下是Python脚本中的代码:

outfile = open("outfile.txt", "w")    

我也尝试了一个绝对路径,但是我收到错误,找不到&#34;文件&#34;:

outfile = open("\\server\folder\subfolder\outfile.txt", "w")

我不认为这是一个权限问题,因为如果我只是手动运行python脚本&#34;&#34;以同一用户身份登录,它将outfile写入网络共享。使用批处理文件我错过了什么?

1 个答案:

答案 0 :(得分:3)

当你“调用”python脚本时,实际上是从当前目录执行它。由于我不认为您可以在没有映射的情况下cd到网络共享,这可能会导致权限问题。

绝对路径可以工作,但您只需要正确指定路径即可。在python中,反斜杠是一个转义字符,因此您要么必须转义反斜杠或使用正斜杠:

outfile = open("//server/folder/subfolder/outfile.txt", "w")

请参阅Using Python, how can I access a shared folder on windows network?