我开始学习Python,并在尝试从文件中读取值时遇到一些问题.
我的参数文件有点像这样:
var1 11111111
path_value "some/space containing path/file.txt"
var3 something
#some other values
var4 some/value1
var5 some/value2
var6 some/value3
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
file=open('this_file.txt')
for line in file:
fields = line.strip().split()
if(fields[0] in "var1"):
## this will give me 11111111
var_1_value=fields[1]
if(fields[0] in "path_value"):
## this will give me only till "/some/space
path_value_contains=fields[1]
Run Code Online (Sandbox Code Playgroud)
如何正确获取路径?我不确定这是一种有效的做事方式.你能告诉我任何更好的方法吗?
我没有使用任何模块.
正如我在评论中提到的,我强烈建议您使用擅长于此的 stdlib 模块,但如果您打算自行开发,那么问题就来了:
if fields[0] in "path_value"
Run Code Online (Sandbox Code Playgroud)
这不是测试是否fields[0]等于,"path_value"而是测试是否fields[0]是"p"、"a"、"t"、"h"、"_"等之一。
尝试改为:
if fields[0] == "path_value"
Run Code Online (Sandbox Code Playgroud)
也就是说,您似乎遇到了一个完全不同的问题,并且该问题仅与复制/粘贴错误有关。如果你使用的是 Python3,你可以尝试这样做:
for line in file:
param_name, *param_values = line.split()
param_value = ' '.join(param_values)
# then proceed as usual
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1289 次 |
| 最近记录: |