python print输出到文件

要将程序的输出送到一个文件中,需要在 print 语句后面使用 >> 指定一个文件,如下所示:

principal = 1000                    # 初始金额
rate = 0.05                         # 利率
numyears = 5                        # 年数

year = 1

f = open("out.txt", "w")              # 打开文件以便写入
while year <= numyears:
    principal = principal * (1 + rate)
    print >> f, "%3d %0.2f" % (year, principal)
    year += 1
f.close()

语法只能用在 Python 2中。如果使用 Python 3,可将 print 语句改为以下内容:

print("%3d %0.2f" % (year, principal), file = f)

另外,文件对象支持使用 write() 方法写入原始数据。

f.write("%3d %0.2f\n" % (year, principal))

尽管这些例子处理的都是文件,但同样的技术也适用于标准的解释器输出流和输入流。可以从文件 sys.stdin 中读取用户输入,从文件 sys.stdout 将数据输出到屏幕上。

import syssys.stdout.write("Enter your name :")name = sys.stdin.readline()

当然,在 Python 2 中,以上代码可以简化为:

name = raw_input("Enter your name :")

在 Python 3 中,raw_inupt() 函数叫做 input(),它们的工作方式完全相同。

时间: 2024-12-14 18:12:38

python print输出到文件的相关文章

python print输出unicode字符

命令行提示符下,python print输出unicode字符时出现以下 UnicodeEncodeError: 'gbk' codec can't encode character '\u30fb 不能输出 unicode 字符,程序中断. 解决方法: sys.stdout = io.TextIOWrapper(sys.stdout.buffer, errors = 'replace', line_buffering = True) python print输出unicode字符,布布扣,bu

Python:print输出中文

python3 print输出unicode字符时出现以下错误: UnicodeEncodeError: 'gbk' codec can't encode character '\u30fb 解决方法: sys.stdout = io.TextIOWrapper(sys.stdout.buffer, errors = 'replace', line_buffering = True) Python:print输出中文

Python print输出重定向到文件和屏幕,超简单

import sys import os class Logger(object): def __init__(self, filename="log.txt"): self.terminal = sys.stdout self.log = open(filename, "a") def write(self, message): self.terminal.write(message) self.log.write(message) def flush(self)

python print 输出

1.直接输出 print "abc" #打印abc并换行 2.直接输出(二) print "abc%s" % "d" #打印abcd 3.直接输出(三) print "abc%sef%s" % ("d", "g") #打印abcdefg 4.文本样式输出输出 msg = ''' Infomation of user %s: ---------------------- name : %s

如何使python print输出不换行

print(1,2)用逗号分开 这样可以连续输出 print(j, "*", i ,"=", j*i,end=" ") 用end来结尾可以决定下一次输出和本次输出中间的格式 for i in range(1, 10): for j in range(1,i+1): print(j, "*", i ,"=", j*i,end=" ") if j == i: print("\n&q

使用python获取webservice数据并输出到文件

上头要求设置TCP备案检查,给了个WEBSERVICE接口.查了2天,才确认还是python比较好用,我这水平也就写个脚本把数据导出,过滤检索还是用的shell.写此文备忘.WEBSERVICE接口脚本如下: #! /usr/bin/python #coding:utf-8 import codecs import suds def main(file_name, out_file): url = 'http://121.14.4.210:8088/icpautobj/ws/getIcp?wsd

Python的print输出中文对齐问题

问题描述: 在使用Python的内建函数print作英文输出时,应用格式化输出可以对齐得很好: s1 = 'I am a long sentence.' s2 = 'I\'m short.' print '%-30s%-20s' %(s1,s2) #'%-30s' 含义是 左对齐,且占用30个字符位 print '%-30s%-20s' %(s2,s1) 输出: 注: 这里应用了最原始的cmd控制台,一些IDE自带的控制台(如Sublime text)可能会有不同的输出效果. 但当字符串包含中文

【python】禁止print输出换行的方法

print后用一个逗号结尾就可以禁止输出换行,例子如下 >>> i=0 >>> while i < 3: print i i+=1 0 1 2 禁止输出换行后效果如下: >>> i=0 >>> while i < 3: print i, i+=1 0 1 2 [python]禁止print输出换行的方法,布布扣,bubuko.com

python print格式化输出

一.速查手册 1.字符串格式化代码: 格式 描述 %% 百分号标记 %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符) %e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e) %f 浮点数字(用小数点符号) %g 浮点数字(根据值的大小采用%e或%f) %G 浮点数字(类似于%g) %p 指针(用十六进制打印值的内存地址) %n 存储输出字