Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python文件读取_Python_Linux_Python 2.7 - Fatal编程技术网

Python文件读取

Python文件读取,python,linux,python-2.7,Python,Linux,Python 2.7,我想从一个文件中读取以下文本,一批10行。每行中的每个值都以特定的变量形式到达,稍后我将以连续的方式绘制它们。以下是文件数据格式: 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

我想从一个文件中读取以下文本,一批10行。每行中的每个值都以特定的变量形式到达,稍后我将以连续的方式绘制它们。以下是文件数据格式:

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行的数据并绘制它们,然后重复这些内容,直到文件结束。

这应该行得通

将file 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]
这将在Level1中保存

Yus level{number} : var1 = {number}
第二级

var2=50
不知道如何摆脱
Yus级别的“1”


它一次只能执行一个操作,可以根据需要进行修改。

只需按空格分割每行,然后按索引获取列:

# 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)

如果你想在python中使用sed和awk,为什么还要用sed和awk来标记呢?你的代码在哪里显示了你的努力?@LeBlue yours works allot比我的好,但是在单词[4]之后不会有一个,谢谢。如果我想读10行,那么当我读完这10行后,我想读下10行。这只是每行上的一个循环,我想读它,但一旦我读了10行,我会做一些处理,然后我会继续同样的。明白了吗?谢谢。如果我想读10行,那么当我读完这10行后,我想读下10行。这只是每行上的一个循环,我想读它,但一旦我读了10行,我会做一些处理,然后我会继续同样的。了解了?