- 1、用python读取文本文件,对读出的每一行进行操作,这个怎么写?
- 2、在Python解释器中输入print(47)并按下回车,解释器在下一行打印出什么?
- 3、python操作文本文件
- 4、python的print命令
- 5、如何用python将内容换行输出
用python读取文本文件,对读出的每一行进行操作,写法如下:
f = open(“test.txt”, “r”)
while True:
line = f.readline()
if line:
pass # do something here
line=line.strip()
p=line.rfind(‘.’)
filename=line[0:p]
print “create %s”%line
else:
break
f.close()
扩展资料:
Python将txt文件读取到一个字符串里的操作方法如下:
1、首先,添加Python文件和文本文件以在vscode中读取,如下图所示。
2、其次,完成上述步骤后,在txt文件中写入一些内容以用于内容读取,只需将其写入即可,如下图所示。
3、接着,完成上述步骤后,必须导入os文件,以便可以在os中调用某些文件操作方法,如下图所示。
4、然后,完成上述步骤后,打开要读取的文件,并将读取的内容数据复制到字符串中,如下图所示。
5、随后,完成上述步骤后,打印字符串以显示内容,以方便参考,如下图所示。
6、接着,完成上述步骤后,运行jy.py文件,该文件将开始读取和打印内容,如下图所示。
7、最后,完成上述步骤后,可以看到已读取txt文件的内容,如下图所示。
47啊
打回车就是完成一个语句,如果不是没写完的就是直接把这行解析了
print是打印函数,里面的内容是47 执行结果是在标准输出流打印一个47
也就是解释器的下一行
在磁盘上读写文件之前,必须先打开这个文件。打开文件就需要提供文件的路径。
在与Python程序同一个目录下,我们有一个名为 pi.txt 的文件,它的内容如下:
现在使用Python来打开和关闭它:
执行此程序不会有任何输出,这表示着打开和关闭文件都得到了正确执行。
可以看到,使用 open() 函数打开文件,参数为文件名(或文件路径);该函数会返回一个文件句柄,文件句柄并不会实际保存文件的内容,而是代表着一种操作,在上面的例子中,文件句柄被赋值给变量 fhand 。
打开文件后,程序具有读(默认)该文件的权限。
最后,使用文件句柄的 close() 方法关闭文件。这非常重要,因为使用完而没有关闭的文件会占用内存或造成安全问题。
如果Python找不到该文件,则会返回错误,比如下面这样:
Python提示我们没有相应的文件或者目录: ‘pii.txt’。
打开文件后就可以对文件进行操作:
fhand.read() 方法将文件内容作为一个字符串返回。
文件中的每一行末尾使用换行符 \n 表示换行,例子中方法 rstrip() 去掉文本中的换行符,然后输出。
程序的运行效果如下:
如果在文件关闭之前程序发生BUG意外退出,则文件不会关闭,为了避免此类事件的发生,可以使用 with 语句:
with 语句的特点是即便在操作文件时发生错误,文件也会自动被清理。
fhand.read() 虽然可以读取文本内容,但是当我们想要逐行处理文件内容,或者文件很大而无法一次性加载进内存的时候,就不适用了。
可以使用 for 语句逐行处理文件内容:
本程序中将文件名保存在变量 filename 中。
打开文件后,使用 for 语句按行读取文件内容。例子中,每次循环依次取一行文本以字符串的格式保存在变量 line 中,每次循环中变量 count 自增1。
这个程序的作用是,打开程序所在目录的 when_old.txt 文件,然后统计行数,并输出结果。
when_old.txt 文件的内容是:
可以使用其他方法操作字符串 line :
程序将以 ‘And’ 开头的行打印出来。
打开文件后,默认的权限是读(r),如果要写文件,则需要使用写(w)或者追加(a)权限。
w权限,打开一个文件用于写入。如果该文件存在,则覆盖该文件;如果该文件不存在,则创建该文件。
a权限,打开一个文件用于追加。如果该文件存在,在文件末尾追加;如果该文件不存在,则创建该文件。
下面是一个使用w权限打开文件的例子:
例子中使用w权限打开该文件,并写入两行。(如果该文件存在,则内容会被覆盖)
fhand.write() 不会自动添加换行符,所以如果需要换行,需在末尾添加 \n 。
下面我们写一个统计文件中词频的程序。
它会统计文件中各个词的出现的次数,然后由高到低显示出前5个词。
首先我们完成打开和关闭文件的程序内容:
在例子中,由用户输入文件名,并且使用异常捕获以处理文件打开时的错误。
下面对内容进行统计:
这个程序:
如此,我们就在字典中存放了 单词:次数 的键值对。
由于字典不能保存顺序,所以不能对其进行排序。为此,将每个键值对都添加到一个列表中:
在列表 word_list 中,每一项都是一个元组,每个元组第一个值是单词出现的次数,第二个值是单词内容。
对其进行逆向(由大到小)排序:
打印最终结果:
整个程序如下:
下面是程序运行结果的示例:
print命令用来输出指定对象的内容,语法为:
print(对象1[,对象2,……sep=分隔符,end=终止符])
1.对象1,对象2,……:print命令可以一次打印多个对象数据,对象之间以逗号“,”分开。
2.sep:分隔符号,如果要输入的多个对象间需要用指定的符号进行分隔,则可通过此参数进行设置,默认值为一个空格符(“ ”)。
3.end:终止符,输入完毕后自动添加的字符,默认值为换行符(“ ”),所以下一次执行print命令会输出在下一行。
print命令支持参数格式化功能,即使用”%s”代表字符串,”%d”代表整数,”%f”代表浮点数,其语法格式为:
print(对象 %(参数行))
例如:
参数格式化可以精确控制输出位置,让输出的数据整齐排列,例如:
1.%5d:固定输出为5个数字的宽度,若输出少于5位,则会在数字的左边输入空格符(若数值大于5位,则会全部输出)
2.%5s:固定输出为5个字符的宽度,若输出少于5位,则会在字符串的左边输入空格符(若数值大于5位,则会全部输出)
3.%8 .2f :固定输出8 个字符宽度(含小数点),其中小数点输出为2 位。若整数部分少于5 位( 8 – 3=5 ),会在左边填入空格符;若小数少于2 位,会在右方填入“ 0″
例如:用格式化输出的方法输出23.8:
也可使用字符串的format 方法来做格式化,用一对大括号“{}”表示参数位置,语法为:
print (字符串.format (参数行))
例如,用字符串的format 方法输出下列字符串及整数:
文章结尾附上Python3.9.7文档中print命令的内容
print(*objects, sep=’ ‘, end=’ ‘, file=sys.stdout, flush=False)
将 objects 打印到 file 指定的文本流,以sep 分隔并在末尾加上 end。 sep, end, file 和 flush 如果存在,它们必须以关键字参数的形式给出。
所有非关键字参数都会被转换为字符串,就像是执行了 str() 一样,并会被写入到信息流,以 sep 且在末尾加上 end。 sep 和 end 都必须为字符串;它们也可以为 None,这意味着使用默认值。 如果没有给出 objects,则print() 将只写入 end。
file 参数必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串,因此 print() 不能用于二进制模式的文件对象。 对于这些对象,应该改用 file.write(…)。
输出是否被缓存通常决定于 file,但如果 flush 关键字参数为真值,信息流会被强制刷新。
在 3.3 版更改: 增加了 flush 关键字参数。
1、下载writerow,查询可以得到下图内容:
2、输出的csv的效果是:行末是CR,然后才是一个CRLF的换行
3、使用binary模式即可
改为
就能解决问题了。
原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/127174.html