第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Python之fileinput模塊學(xué)習(xí)

標(biāo)簽:
Python

fileinput模块


fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]])

files:                  #文件的路径列表,默认是stdin方式,多文件['1.txt','2.txt',...]
inplace:                #是否将标准输出的结果写回文件,默认不取代
backup:                 #备份文件的扩展名,只指定扩展名,如.bak。如果该文件的备份文件已存在,则会自动覆盖。
bufsize:                #缓冲区大小,默认为0,如果文件很大,可以修改此参数,一般默认即可
mode:                   #读写模式,默认为只读
openhook:               #该钩子用于控制打开的所有文件,比如说编码方式等;


fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。
它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象。

关键在这句话:标准输出会被重定向到打开文件
所以一定要用print打印到标准输出,fileinput会自动把标准输出内容回写到文件,如果没有用print打印到标准输出,那么就会把空内容回写到文件,也就是清除了文件所有内容
print re_basedir.sub('basedir=/usr/local/mysql', line) ,


下面是fileinput模块中的常用函数:
input()    #返回能够用于for循环遍历的对象
filename()  #返回当前文件的名称
lineno()   #返回当前已经读取的行的数量(或者序号)
filelineno() #返回当前读取的行的行号
isfirstline() #检查当前行是否是文件的第一行


示例
#如果要修改多个地方,将sub()得到的结果代入第二个sub()函数再print出来


def modify_startupscript(port):
    for line in fileinput.input(MYSQL_STARTUP_SCRIPT,inplace=1):
        re_datadir = re.compile(r'datadir=', re.I | re.M)
        content= re_datadir.sub('datadir=/data/mysql/mysql%s/data' %port, line)
        re_basedir = re.compile(r'basedir=', re.I | re.M)
        print re_basedir.sub('basedir=/usr/local/mysql', content) ,
    fileinput.close()

示例

#!/usr/bin/env python
import fileinput
for line in fileinput.input('test.txt',backup='.bak',inplace=1):  
    print line.replace('Python','LinuxEye'),
fileinput.close()

  
示例
判断是否是第一行

import fileinput
for line in fileinput.input('test.txt'):
    if fileinput.isfirstline():
        print line,
    else:
        break
fileinput.close()

 

示例    

import fileinput
from glob import glob
for line in fileinput.input(glob(r'd:/*.txt')):
    print fileinput.lineno(), u'文件:', fileinput.filename(), /
            u'行号:', fileinput.filelineno(), u'长度:', len(line.strip('/n'))
fileinput.close()
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消