Python 2.7: Print to File

后端 未结 6 947
情深已故
情深已故 2020-11-29 00:16

Why does trying to print directly to a file instead of sys.stdout produce the following syntax error:

Python 2.7.2+ (default, Oct  4 2011, 20:06         


        
相关标签:
6条回答
  • In Python 3.0+, print is a function, which you'd call with print(...). In earlier version, print is a statement, which you'd make with print ....

    To print to a file in Python earlier than 3.0, you'd do:

    print >> f, 'what ever %d', i
    

    The >> operator directs print to the file f.

    0 讨论(0)
  • 2020-11-29 00:33

    print(args, file=f1) is the python 3.x syntax. For python 2.x use print >> f1, args.

    0 讨论(0)
  • 2020-11-29 00:38

    This will redirect your 'print' output to a file:

    import sys
    sys.stdout = open("file.txt", "w+")
    print "this line will redirect to file.txt"
    
    0 讨论(0)
  • 2020-11-29 00:39

    print is a keyword in python 2.X. You should use the following:

    f1=open('./testfile', 'w+')
    f1.write('This is a test')
    f1.close()
    
    0 讨论(0)
  • If you want to use the print function in Python 2, you have to import from __future__:

    from __future__ import print_function
    

    But you can have the same effect without using the function, too:

    print >>f1, 'This is a test'
    
    0 讨论(0)
  • 2020-11-29 00:55

    You can export print statement to file without changing any code. Simply open a terminal windows and run your code in this way:

    python yourcode.py >> log.txt
    
    0 讨论(0)
提交回复
热议问题