python 写入文件 只能写入一行

2024-05-18 13:08

1. python 写入文件 只能写入一行

问题描述:在循环中将内容写入文件,但是本段代码在第一次循环中将文件关闭了,所以后边的写不进去。
解决方案:有两种解决方法
第一种:
ft = open("a", 'w')for entry in result :    print entry    try:	    ft.write(entry+'\n')    except:	    log.error('write backup error:'+JOBNAME)	ft.close()#在内容写完后再关闭文件os.chdir(basePath)第二种:
for entry in result :    #注意:在每次进入循环后先打开文件    ft = open("a", 'a')#注意:第二个参数,是以追加形式打开,否则还是只有一行    print entry    try:	    ft.write(entry+'\n')    except:	    log.error('write backup error:'+JOBNAME)    finally:	    ft.close()os.chdir(basePath)建议使用第一种,因为第二种频繁对文件进行打开和关闭操作,效率较低。
对于文件操作建议你看看这篇博客 http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html。
总结:注意文件open(filepath, mode)方法,第一个参数是文件路径,第二个是文件操作模式。其中如果模式是”w“那么是以写的方式打开,那么原先的内容都没了,而模式‘a’是以追加写操作,是在文件末尾追加,不会擦除之前的内容,还有其他的模式请查看上边那篇博客。
此外,对于python中的try-except-finally的问题,这个是当try-except之间的代码没有抛出异常的情况下,执行try和finally;当try-except之间的代码出错时,执行except和finally。这一点要注意。

python 写入文件 只能写入一行

2. python读取一行文件内容后 怎么拆分那行里的内容并加以利用

这个最好用正则表达式模块进行正则表达式匹配来获取所需要的内容。import re

3. 如何获取目录下的文件数(一行Python)

如果想把该目录下所有的文件都统计出来,包括子目录、子目录的子目录。。。
可以使用os.walk来找出目录下所有的文件
import osprint sum([len(x) for _, _, x in os.walk(os.path.dirname("test"))])#test是目录名
os.walk会递归遍历指定目录下的文件,返回值分别为当前文件夹完整路径,当前文件夹中的文件夹和文件夹中的文件。我们只需要文件,所以其他的都不取出来了,直接使用"_"占位就行了。

如果只是想统计出当前目录下的文件,不包括子目录的。就使用os.listdir,只统计是文件的个数:
len([x for x in os.listdir(os.path.dirname(__file__)) if os.path.isfile(x)])

如何获取目录下的文件数(一行Python)

4. 如何用python将内容一行输入

直接在命令行运行foo,则”./foo”被当做argv[0],但是通过exec运行foo发现并没有参数传入foo(程序没有任何输出),也就是说argc值为0。这是什么原因呢?我们知道argv存放的是传递给main函数的命令行参数,当在命令行键入”./foo”时,唯一的命令行参数”./foo”就被传入给main的argv了。所以直接在命令行运行foo就打印出唯一的参数”./foo”。
那么execl的情况呢?首先看一下execl的原型:
int execl(const char* pathname,const char* arg0,.../*(char*)0*/);
注意到了吧,第一个参数是要执行的程序名,第二个参数才是要传入待执行程序的第一个参数,而上述main.c中没有第二个参数(这里说的是execl的第二个参数),也就是没有给foo传递任何参数,foo的参数表argv当然就是空了,或者说argc为0。

5. 用Python脚本实现找到某行文件在他的上一行插入

  open  a.txt
  open  rewrite.plist

  读取a.txt中的第1行
  while 该行不为空
          如果该行中包含aaaaaa
                  向rewrite.plist中写入<---
                  向rewrite.plist中写入该行
          如果该行中包含bbbbbb
                  向rewrite.plist中写入该行
                  向rewrite.plist中写入<---
          否则
                  向rewrite.plist中写入该行
          读取下一行

  close  a.txt
  close  rewrite.plist

用Python脚本实现找到某行文件在他的上一行插入

6. 用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文件的内容,如下图所示。



7. python 怎样或读取一个文件的最后一行

有两种情况,1,文件比较大时,一行一行循环直到最后一行,读取最后一行;
targetLine = "";lineNo = 0;  while 1:    mLine = file.readline();    if not mLine:        break;    lineNo += 1;    if (linecount == lineNO):        targetLine = mLine;2, 文件比较小,直接读取全文,取最后一行数据。
targetLine = "";  mLines = file.read();targetLine = mLines[-1];filelineno( ) Return the line number in the current file. Before the first line has been read, returns 0. After the last line of the last file has been read, returns the line number of that line within the file.

python 怎样或读取一个文件的最后一行

8. python 在文件每一行行首加入一个字符串

file = open('test.txt','r',encoding = 'utf-8')lines = file.readlines()file.close()file = open('test.txt','w',encoding = 'utf-8')for k, v in enumerate(lines):    file.write('%d,%s'%(k,v))file.close()