python字符串读取文件
㈠ python3用read()函数读取文件两次,就变成空字符串了
python在读取文件的时候是根据光标位置来读取的。读一行以后光标位置到了下一行。再来个read又到了下一行。
想要重新从头开始读的话用f.seek(0)
将光标位置放到最前面。这样再f.read()就是第一行的内容
还有个方法是f.tell()
告诉你当前光标的位置。你可以把文件都读完了以后f.tell()一下看看光标位置
然后再f.seek(0)
再f.tell()一下看看光标位置
with open() as f跟你截图用的差不多,只不过这种方式不用f.close(),会自动关闭文件句柄。不过也可以手动关闭文件句柄
㈡ 大牛们好,我问题是用python读取一个文件,文件里有很多行字符串.需要把所有连续的字母提取出来
手写方法:
a=file("t.txt","r").read()
b=""
#非字母替换成空格
for i in range(len(a)):
if not a[i].isalpha():
b+=' '
else:
b+=a[i]
#分词
c = b.split()
#唯一化,统计出现次数
for i in list(set(c)):
print i, c.count(i)
㈢ python如何读取文件的内容
# _*_ coding: utf-8 _*_
import pandas as pd
# 获取文件的内容
def get_contends(path):
with open(path) as file_object:
contends = file_object.read()
return contends
# 将一行内容变成数组
def get_contends_arr(contends):
contends_arr_new = []
contends_arr = str(contends).split(']')
for i in range(len(contends_arr)):
if (contends_arr[i].__contains__('[')):
index = contends_arr[i].rfind('[')
temp_str = contends_arr[i][index + 1:]
if temp_str.__contains__('"'):
contends_arr_new.append(temp_str.replace('"', ''))
# print(index)
# print(contends_arr[i])
return contends_arr_new
if __name__ == '__main__':
path = 'event.txt'
contends = get_contends(path)
contends_arr = get_contends_arr(contends)
contents = []
for content in contends_arr:
contents.append(content.split(','))
df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])
(3)python字符串读取文件扩展阅读:
python控制语句
1、if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
2、for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
3、while语句,当条件为真时,循环运行语句块。
4、try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
5、class语句,用于定义类型。
6、def语句,用于定义函数和类型的方法。
㈣ 用python读取文本文件,对读出的每一行进行操作,这个怎么写
用python读取文本文件,对读出的每一行进行操作,写法如下:
f=open("test.txt","r")
whileTrue:
line=f.readline()
ifline:
pass#dosomethinghere
line=line.strip()
p=line.rfind('.')
filename=line[0:p]
print"create%s"%line
else:
break
f.close()
㈤ python读取一个txt文件 使其变成每行20个字符的形式
如何让python把从txt文件中读入的文字按20个字符一行的形式分隔开呢。大概的思路是,先读入文件所有字符,然后使用range生成[0,20,40,...]的列表以供索引,然后用这个索引,生成有关于该字符串的新列表[s[0:20],s[20:40],...],若不专门去除换行符,代码用这个思路就够了,可以这么写(以下13行就是)(限于python3):
#-*-coding:utf-8;-*-
f=open("test.txt","w")
print("abcdefghijklmnopqrstabcd"
"efghijklmnopqrstopq",file=f)
f.close()
#生成待读入文件
#再从待读入文件中读入处理
f=open("test.txt","r")
s=f.read()
l=len(s)
b=(list(range(0,l,20)))
p=[s[i:i+20] for i in b]
r=[print(i) for i in p]
按每行20字符的形式输出样例txt
㈥ Python:怎样将txt文件读取到一个字符串里
1、首先在vscode里面添加了Python文件和用于读取的文本文件。
㈦ python 读取txt文件特定字符串后面的数字,并写入到另一个txt
#!/usr/bin/envpython3
#-*-coding:utf-8-*-
importre
defmain(input_file,output_file):
pattern=re.compile('^([0-9]{4}-[0-9]{2}-[0-9]{2})::去的时间:([0-9]+)/n耽误时间:([0-9]+)回来时间:([0-9]+)$')
reader=open(input_file,'r')
buff=[]
whileTrue:
line=reader.readline()
iflen(line)==0:
break
line=line.rstrip()
m=pattern.match(line)
ifm:
buff.append("%s%s%s"%(m.group(2),m.group(3),m.group(4)))
reader.close()
writer=open(output_file,'w')
writer.write(' '.join(buff))
writer.close()
if__name__=='__main__':
main('_559728513.input','_559728513.output')
㈧ python 怎么读取一个字符串
python2: raw_input
python3: input