今天我运行了我的第一个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启动程序)。你知道吗
你知道我把事情搞砸了吗?你知道吗
你没有在
a.py
中打印任何内容。更改为:在pythonshell中,它会自动打印它;但是pythonshell只是一个助手。在一个文件中,你必须明确地告诉它。你知道吗
当您运行python并输入命令时,它会打印到standard out(默认情况下是控制台),因为您使用的是shell。pythonshell中打印的内容只是该行代码返回的对象的表示。它实际上并不等同于显式调用print。你知道吗
当您使用文件参数运行python时,它会逐行执行该脚本,而不会将任何变量打印到stdout,除非您显式调用“print()”或直接写入stdout。你知道吗
考虑更改脚本以使用print语句:
相关问题 更多 >
编程相关推荐