【问题标题】:Cannot run python file from outside of source directory无法从源目录外部运行 python 文件
【发布时间】:2021-06-04 08:38:30
【问题描述】:

我正在尝试从 testScripts 文件夹之外的 C:\Users\maxwe\PATH TO FILE\testScripts\writeToFile.py 运行 python 文件。

请注意下面的命令提示屏幕截图(我包含了显示 python 命令正在解析的版本)。 writeToFile.py 脚本似乎已执行,因为我没有收到任何错误,但它并没有像我想要的那样将 Hello World 写入文件。

我可以从 testScripts 文件夹中运行脚本,它可以按预期工作,但是这个项目的最终目标是通过运行 之类的东西从驻留在源文件夹之外的 Java Spring API 运行 python 脚本Runtime.getRuntime().exec("python C:\Users\maxwe\PATH TO FILE\testScripts\writeToFile.py"); 所以“cd”进入文件夹并运行脚本并没有多大帮助.

提前致谢!

这里也是python文件:

# -*- coding: utf-8 -*-
"""
Created on Feb 25 2021

@author: maxwe
"""
def run():
    file1 = open("log.txt","w")

    file1.write("Hello World")
    file1.close() 

run()

【问题讨论】:

  • 您在哪里寻找输出文件?您在运行脚本时是否检查过您所在的当前目录?相对文件路径将相对于您运行脚本的当前目录。
  • 谢谢@David!这就是解决办法。它正在将文件写入我运行脚本的位置。
  • 没问题。我们都犯了这个错误。

标签: python windows command-line


【解决方案1】:

还有更多“pythonic”方法可以使用 os 和重新定义目录来执行此操作。但为了简单起见并直接回答您的问题,您需要定义可以找到此文件的绝对路径。

  path = 'C:\\Users\\maxwe\\Desktop\\personal_projects\\water_robot\\log.txt'
    
    with open(path, 'w') as f:
        f.write('Hello World')
        f.close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-17
    • 2023-04-06
    • 2021-10-20
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    相关资源
    最近更新 更多