Вопрос

To reproduce problem:

In the PyScripter editor, write:

outf = open('output.txt', 'w')
outf.write('hello, world!')

Result:

For me at least, here is what happens, when output.txt does not already exist.

  1. output.txt is created
  2. output.txt will contain no data or text at all when opened by any text editor.

So my question is, how do I make this work?

Other information:

I am using PyScripter 2.5.3.0 x64, with Python 2.7.3, 64 bit as the interpreter.

Printing to the console works fine, all other functions and code work fine.

When I use python in Command Prompt, I can write to output files fine. My problem is only in PyScripter.

Thanks, DS

Это было полезно?

Решение

The question was already resolved in comments, but I will post a complete answer regardless.

Writes to files may be delayed. To make sure they aren't, force a flush by closing the file:

outf.close()

If you don't want to explicitly call close, try using with ... as:

with open('output.txt', 'w') as outf:
    outf.write('hello, world!')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top