来自 Visual Basic 的 运行 .py 文件时 python 中的 FileNotFound 错误

FileNotFound Error in python when running .py file from visual basic

我试图制作一个助手,它可以执行简单的任务,如关闭计算机等。为此,我选择了 python 和 visual basic.....用于显示的 visual basic(前端应用程序)和python 用于执行任务(后端应用程序)。所以我创建了一个名为 main.py 的 py 文件并创建了一个名为 query 的文件夹,并在其中创建了一个名为 query.jarvis 的文件,它可以简单地作为文本文件打开。 vb(visual basic) 程序只是将文本写入 query.jarvis,然后 运行 main.py 文件。当我通过双击 main.py 文件手动 运行 它工作正常(就像查询中的“关机”和 运行 宁 main.py 文件通过双击我的电脑关机) 但是当我尝试从 vb 运行 它时,它显示错误文件未找到 query\query.jarvis 。我什至尝试通过 pyinstaller 将 py 文件转换为 exe,但它再次显示相同的错误,但只有当我 运行 它来自 vb.

*main.py()

def check(q):

    #here was performing task according to query

f=open("query\query.jarvis") 

    #here the error occured

x=f.readlines()

d=x[0]

d=d.strip()

q=d.lower()

check(q)*

*vb.net

objWriter123.Close()

Dim objWriter As New System.IO.StreamWriter(moddir + "query\query.jarvis")

   
      #here moddir is the directory of main.py file

objWriter.Write(UserQuery.Text)

objWriter.Close()

UserQuery.Text = ""

Process.Start(moddir + "main.py", AppWinStyle.MinimizedNoFocus)*

process.start 有时会有奇怪的结果。我通常设法通过将 explorer.exe 添加到混音中来修复它。

Process.Start("explorer.exe", moddir & "\main.py")

还要注意这个额外的反斜杠,您可能已经错过了。在 \main.py

注意

在 vb 中,您使用 & 符号而不是 + 符号连接字符串。