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