今天我设法运行了我的第一个Python脚本。我是Windows 7机器上的新手。
当我运行python.exe并输入以下内容时(Python安装在C:/ Python27中)
import os
os.chdir('C:\\Pye\\')
from decoder import *
decode("12345")
我在python命令提示符窗口中获得了所需的结果,因此代码工作正常。然后我尝试将这些结果输出到文本文件,这样我就不必在提示窗口中手动将其全部复制粘贴。经过一段谷歌搜索(再次,我有点猜测我在这里做什么)我想出了这个;
我在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);
我看到result.txt在目录中创建,但是0字节。如果我已经创建一个空的result.txt并执行01.py(我使用Python启动器),也会发生同样的情况。
我有什么想法搞砸了吗?
答案 0 :(得分:1)
你没有在UpdateProgress
中打印任何内容。将其更改为:
a.py
在Python shell中,它会自动打印它;但是Python shell只是一个帮手。在文件中,您必须明确告诉它。
答案 1 :(得分:0)
当你运行python并输入命令时,它会打印到标准输出(默认情况下是控制台),因为你正在使用shell。 python shell中打印的内容只是该代码行返回的对象的表示。它实际上并不等同于显式调用print。
使用文件参数运行python时,它会逐行执行该脚本,而不会将任何变量打印到stdout,除非您显式调用“print()”或直接写入stdout。
考虑更改脚本以使用print语句。:
print(decode("12345"))