在python中通过windows cmd用记事本打开服务器上的文件

2024-04-24 03:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用windows命令选择位于服务器上的文件。我所做的基本上是:

import os 
os.system('pushd '+ \\Server\PathToFile)
os.system('start Notepad '+ NameOfFile)

关键是,如果我在cmd中手工输入它,这是有效的。如果我尝试在python中实现它,它就不起作用。我收到以下错误消息:

CMD.EXE was started with the path given above as current directory.
UNC-paths are not supported, therefore the windows-directory is used as 
current directory.

实际的错误信息是德语,这就是为什么我翻译它,我不知道它是否可以理解或不。实际上,记事本查找当前文件的路径是C:\Windows,而不是我指定的路径。你知道吗


Tags: 文件theimport命令路径服务器serveros
1条回答
网友
1楼 · 发布于 2024-04-24 03:27:45

Windows不支持将当前目录设置为UNC路径,而且由于这是两个独立的os.system命令,因此它无论如何也不会工作。你知道吗

您可以在这个路径上挂载一个驱动器并使用os.chdir,但这会使它更复杂!你知道吗

您不需要更改当前目录。此外os.system已被弃用,建议改用subprocess。你知道吗

因此,请更改代码以运行提供文件完整路径的命令:

import subprocess
subprocess.call(["start","notepad",os.path.join("\\Server\PathToFile",NameOfFile)],shell=True)

但我想你最好还是

os.startfile(os.path.join("\\Server\PathToFile",NameOfFile))

(Windows的默认关联可能会在后台打开“notepad”,这很简单,用户甚至可以通过在Windows中更改文本文件关联来更改编辑器)

相关问题 更多 >