python3read
A. 如何使用python3讀取配置文件
完整示例
下面是一個完整的示常式序,他將生成一個IpConfig.ini的配置文件,再讀取文件中的數據,輸出到屏幕上。
#-*-coding:utf-8-*-
importconfigparser
#讀取配置文件
config=configparser.ConfigParser()
config.read("IpConfig.ini")
#寫入宿舍配置文件
try:
config.add_section("School")
config.set("School","IP","10.15.40.123")
config.set("School","Mask","255.255.255.0")
config.set("School","Gateway","10.15.40.1")
config.set("School","DNS","211.82.96.1")
exceptconfigparser.DuplicateSectionError:
print("Section'School'alreadyexists")
#寫入比賽配置文件
try:
config.add_section("Match")
config.set("Match","IP","172.17.29.120")
config.set("Match","Mask","255.255.255.0")
config.set("Match","Gateway","172.17.29.1")
config.set("Match","DNS","0.0.0.0")
exceptconfigparser.DuplicateSectionError:
print("Section'Match'alreadyexists")
#寫入配置文件
config.write(open("IpConfig.ini","w"))
ip=config.get("School","IP")
mask=config.get("School","mask")
gateway=config.get("School","Gateway")
dns=config.get("School","DNS")
print((ip,mask+" "+gateway,dns))
B. python3.2 io.UnsupportedOperation: read
單從提示的錯誤看,錯誤源自
def select():
#先列印出來給用戶
f = open(telfile,"wb") #這里用的『只寫』屬性,改成'rb'只讀屬性
conlist = p.load(f)
更正後,應該就沒有所提示的錯誤了
C. python3中使用使用read_csv( )讀取csv文件,文件路徑中含有中文,怎麼處理
字元被轉義了寫的不對,將字元改成英文模式下的字元。
D. python3爬蟲urllib.request.urlopen("網址").read() 本來是utf-8,為什麼還要加上urlencode(「utf-8」)
你這行代碼是不需要urlencode()的。
對於返回的request對象,其read()方法獲得的其實是一個位元組流對象,而非字元串對象,所以這時需要調用該位元組流對象的decode()方法,按指定編碼方式進行解碼。
至於urlencode(),這是urllib中的一個函數,它的作用是將字元串進行url編碼。這個編碼其實就是個轉義的過程,將那些因可能造成解釋器誤會或安全問題而不適合出現在請求中的符號進行轉義,並且把超出url編碼表的字元降維。
E. python3用read()函數讀取文件兩次,就變成空字元串了
python在讀取文件的時候是根據游標位置來讀取的。讀一行以後游標位置到了下一行。再來個read又到了下一行。
想要重新從頭開始讀的話用f.seek(0)
將游標位置放到最前面。這樣再f.read()就是第一行的內容
還有個方法是f.tell()
告訴你當前游標的位置。你可以把文件都讀完了以後f.tell()一下看看游標位置
然後再f.seek(0)
再f.tell()一下看看游標位置
with open() as f跟你截圖用的差不多,只不過這種方式不用f.close(),會自動關閉文件句柄。不過也可以手動關閉文件句柄
F. python中 read,readline,readlines的區別
不帶參數的read是將文件所有內容讀入到 一個字元串中
readlines是將文件的所有行讀取到列表中,列表中每項代表一行
read帶參數是讀取指定的位元組數,read(10)讀取10位元組
G. 請教下 python read(3)的時候,為什麼不是每行顯示三個字元
如圖所示
釋
情
備
這都是每一行的結尾 然而在這3個字後面都有看不見的字元 也就是回車換行符 這符號佔2個字元 所以才有你第2張圖的效果 你可以先替換回車換行符為空 然後再按3個字輸出
H. Python3.6pandas read_csv()函數讀取中文命名的文件失敗Initializing from file failed
在python3使用read_csv的時候,如果傳入的參數不是文件名而是文件的路徑,就會報這個錯。
原因應該是這個庫的問題,解決方法是,先切換到這個目錄,然後傳文件名作為參數。
出錯代碼:
import pandas as pd
trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"
trainData = pd.read_csv(trainFile)
改進代碼:
import pandas as pd
import os
trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"
pwd = os.getcwd()
os.chdir(os.path.dirname(trainFile))
trainData = pd.read_csv(os.path.basename(trainFile))
os.chdir(pwd)
I. python3 讀取整個文件怎麼實現
試試用read()
fileH = open('test')
fileH.read()
fileH.close()