2017-09-23 312 views
-2

我想從批處理文件中讀取以下文本10行。每行中的每個值都會到達特定的變量,因爲我想稍後以連續方式繪製它們。這裏是文件的數據格式:Python文件閱讀

Xus level 5 : var1 = 885775, var2 = 50 
Xus level 4 : var1 = 885710, var2 = 25 
Xus level 3 : var1 = 885705, var2 = 25 
Xus level 2 : var1 = 885640, var2 = 100 
Xus level 1 : var1 = 885610, var2 = 275 
Yus level 1 : var3 = 885510, var4 = 6875 
Yus level 2 : var3 = 885505, var4 = 500 
Yus level 3 : var3 = 885500, var4 = 225 
Yus level 4 : var3 = 885465, var4 = 25 
Yus level 5 : var3 = 885460, var4 = 100 
... (continue above format with changed values...) 

我想讀一個Python代碼。將值存儲在一些變量中,然後一次繪製10行,然後在一些while睡眠環中,我會讀其他10行繪製它們,然後重複這些東西直到文件結束。

+1

,如果你想這樣做的蟒蛇與sed和awk爲什麼標記它??? –

+0

你的代碼在哪裏顯示你的努力? – RomanPerekhrest

回答

0

這應該工作。

文件name.txt更改爲您的文件的名稱

# open your file (Your file name.txt is the file name in read mode (r)) 
file = open(Your file name.txt", "r") 
# for each line in Your File 
for line in file: 
# Split each word that is inbetween commers into seperate variables 
    details =line.split(", ") 
    Level1 = details[0] 
    Level2 = details[1] 

這將在1級

保存
Yus level{number} : var1 = {number} 

而在Level2的

var2=50 

不知道怎麼擺脫Yus level '1'

它只會一次只修改一個,如你所願修改它。

+0

@LeBlue 你的作品比我的作品分配得更好,但是會不會有一個,後面有文字[4] – Kieron

+0

是的,確實會有',',我錯過了。 – LeBlue

+0

謝謝。那麼我想要讀10行,然後一旦我完成了10行,我想讀下10行。這只是每一行上的一個循環,我想讀它,但是一旦我讀了10行,我會做一些處理,然後我會再次繼續。得到它 ? – user3217310

0

只需通過分割空間中的各行按索引的得到的列:

# open file 
file = open("filename", "r") 

# for each line the file 'filename' 
for line in file: 

    # split the line in between spaces: 
    words = line.split(" ") 

    # get the columns by position: 
    level = words[2] 
    var_name_1 = words[4] 
    var_value_1 = words[6].split(",")[0] # get rid of , 
    # etc 

    # do something here ... 
    # perhaps add to a list: 
    # array_value_1.append(var_value_1) 
+0

謝謝。那麼我想要讀10行,然後一旦我完成了10行,我想讀下10行。這只是每一行上的一個循環,我想讀它,但是一旦我讀了10行,我會做一些處理,然後我會再次繼續。得到它 ? – user3217310