【问题标题】:FileNotFound Error in python when running .py file from visual basic从visual basic运行.py文件时python中的FileNotFound错误
【发布时间】:2021-03-22 04:28:52
【问题描述】:

我正在尝试制作一个可以执行简单任务的助手,例如关闭计算机等。为此,我选择了 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 运行它时。

*ma​​in.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)*

【问题讨论】:

  • 至于您的问题,问题可能是您没有为新流程润湿WorkingDirectory。许多应用程序假定当前目录是运行它们的任何文件夹,而您的代码会将其设置为与您的应用程序相同的当前目录。无论您将在控制台窗口中“cd”到什么文件夹,您都应该将其设置为 WorkingDirectory
  • 啊!请阅读我实际写的内容,而不是您认为我写的内容。在文件资源管理器中双击文件时会发生什么是无关紧要的。我没有说您为 main.py 使用了错误的文件路径。我特别说你在运行它时没有设置WorkingDirectory。尝试打开搜索引擎,了解如何在调用Process.Start 时设置WorkingDirectory
  • Ohkkk 我现在想通了...非常感谢您...问题出在 main.py 文件中...再次感谢您,尽管您有点粗鲁但没关系
  • 我不想浪费时间重复自己。我认为寻求帮助然后在提供建议时没有正确阅读建议有点粗鲁。此外,如果您在其他人之前回答了自己的问题,您实际上应该发布一个显示解决方案的答案,以帮助其他可能发现此问题的人遇到相同或类似的问题。这就是这个网站的运作方式。据我所知,您不需要最低声望就能做到这一点,但我无法确定。
  • 先生,实际上我们(我和我的朋友具有相同的 stackoverflow id)只是在校学生,我们正在尝试一些新的东西......我们遇到了这个问题,一旦我们完成了我们正在做的事情,我们一定会为其他人发布解决方案并帮助社区发展

标签: python vb.net file-not-found


【解决方案1】:

process.start 有时会产生奇怪的结果。我通常会通过添加 explorer.exe 来修复它。

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

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

注意

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    相关资源
    最近更新 更多