【发布时间】:2016-07-03 22:23:37
【问题描述】:
我遇到了 Python 编程问题。在我的程序中,我使用os.startfile() 启动程序,但它不允许我。
当我的程序执行启动文件的命令时,我在 Windows 脚本主机中收到以下错误:
Script: C:\Users\Personal Name\Desktop\Program\Files\Volume\Volume Max\Volume Max.vbs
Line: 3
Token: 1
Error: Can't find the file.
Code: 80070002
Source (null)
我有确切的路径所在的文件,并且名称拼写正确。我已经仔细检查过了。我删除了文件名的空格,并查找了我没有成功的错误代码,因为 Windows 对其他 Windows 文件有相同的错误。
现在我可能错了,这不是 Python 错误,但我认为是这样。
代码:
import socket
import time
import os
host = '192.168.56.1'
port = 5000
clients = []
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((host, port))
s.setblocking(0)
quitting = False
print ("Server Started")
while not quitting:
try:
data, addr = s.recvfrom(1024)
if ("Quit") in str(data):
quitting = True
print (time.ctime(time.time()) + str(addr) + str(data))
if "Volume Max" in data:
print ("Volume Max")
os.startfile('C:\\Users\\wbe0719\\Desktop\\Program\\Files\\Volume\\Volume Max\\Volume Max.vbs')
except:
pass
s.close()
【问题讨论】:
-
你是怎么调用 startfile 的?
-
看起来您正在运行 Visual Basic 程序,而不是 Python 程序...
-
这里是我调用 startfile 的方式:os.startfile('C:\Users\Personal Name\Desktop\Program\Files\Volume\Volume Max\Volume Max.vbs')
-
我没有使用 Visual Basic。虽然我调用了一个 Visual Basic 脚本。嗯......也许那个脚本我得到了一个错误。坚持,稍等。我要去检查一些东西。
-
您需要
os.startfile(r'C:\Users\Personal Name\Desktop\Program\Files\Volume\Volume Max\Volume Max.vbs')即在前面加上一个 r 以使其成为原始字符串或用正斜杠替换反斜杠 stackoverflow.com/questions/27384489/…
标签: python windows path startup os.system