Python脚本将结果写入文本fi

2024-10-06 12:13:42 发布

您现在位置:Python中文网/ 问答频道 /正文

今天我运行了我的第一个Python脚本。我是个新手,在Windows7机器上。你知道吗

当我跑的时候python.exe并输入以下内容(Python安装在C:/Python27中)

import os
os.chdir('C:\\Pye\\')
from decoder import *
decode("12345")

我在python命令提示符窗口中获得了所需的结果,因此代码运行良好。然后我尝试将这些结果输出到一个文本文件中,这样我就不必在提示窗口中手动复制粘贴所有结果。在google了一番之后(同样,我在猜测我在这里做什么),我想到了这个

我在C:/Pye目录中编写了“a.py”脚本,看起来是这样的

from decoder import *
decode("12345")

然后我写了一个01.py文件,看起来像这样

import subprocess
with open("result.txt", "w+") as output:
subprocess.call(["python", "c:/Pye/a.py"], stdout=output);

我看到了结果.txt在目录中创建,但为0字节。如果我已经做了一个空的结果.txt并执行01.py(我使用Python启动程序)。你知道吗

你知道我把事情搞砸了吗?你知道吗


Tags: frompyimport目录txt脚本机器output
2条回答

你没有在a.py中打印任何内容。更改为:

from decoder import *
print(decode("12345"))

在pythonshell中,它会自动打印它;但是pythonshell只是一个助手。在一个文件中,你必须明确地告诉它。你知道吗

当您运行python并输入命令时,它会打印到standard out(默认情况下是控制台),因为您使用的是shell。pythonshell中打印的内容只是该行代码返回的对象的表示。它实际上并不等同于显式调用print。你知道吗

当您使用文件参数运行python时,它会逐行执行该脚本,而不会将任何变量打印到stdout,除非您显式调用“print()”或直接写入stdout。你知道吗

考虑更改脚本以使用print语句:

print(decode("12345"))

相关问题 更多 >