在 CMD 中运行 Python - 无法创建文件

问题描述

我试图通过 shell (CMD) 调用 python 文件,但我遇到了一些问题。

当我通过双击 .py 文件或通过 Python IDLE 编辑器运行我的 .py 文件时,它运行得很好,并按原样创建文件

但是当我通过命令行运行它时,它会运行整个文件,但不会“打开”/创建文件

我假设/认为它可能与相对文件路径有关,但我不确定

脚本是:

from __future__ import print_function
import sys
import os
import ctypes    
#-----File-Handling-------------------  

#Remove prevIoUs output file
if os.path.exists("Temp_py_out.txt"):
  os.remove("Temp_py_out.txt")

#create file:
tempfile = open("Temp_py_out.txt","w+")
tempfile.write("0\nNo errors\nPar1\nPar2\nPar3\nPar4\nPar5\nPar6\n")

tempfile.close()
print("File OK")

编辑:我可以看到它创建了一个文件,但不是在 .py 所在的文件夹中,而是在我的“C:\Users\meg”文件夹中创建它,这是我的 CMD 所在的文件夹当我打开 CMD 时。

如何让 python 强制将它放在与文件所在的文件夹相同的文件夹中?

解决方法

使用此命令运行

C:\Users\meg>python "C:\Users\meg\Desktop\PYTEST\test.py"

将使用您当前的工作目录 C:\Users\meg,而不是您的 Python 文件的位置。检查该文件夹以查看是否有您需要的文件。

,

你从“c:\Users\meg”运行程序,所以你的脚本的工作目录可能在那个路径上,而不是在“C:\Users\meg\Desktop\PYTEST\test.py”>

您可以通过将以下行写入您的代码来测试它: 打印(os.getcwd())