Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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_Python 3.x_File Io - Fatal编程技术网

Python 从文件中读取列表

Python 从文件中读取列表,python,python-3.x,file-io,Python,Python 3.x,File Io,我想从文件中读取一个简单的列表。但是不能将列表元素彼此分开 这是我的档案: "11","Arial","red","white","black","200x200","My Project" 这是我的阅读功能: def fread(文件名): user_file=open({})。格式(文件名),“r”) file\u content=user\u file.read() 用户_文件。关闭() 返回str(文件内容) 以下是不起作用的部分: conf_file=fread(“设置”) con

我想从文件中读取一个简单的列表。但是不能将列表元素彼此分开

这是我的档案:

"11","Arial","red","white","black","200x200","My Project"
这是我的阅读功能:

def fread(文件名):
user_file=open({})。格式(文件名),“r”)
file\u content=user\u file.read()
用户_文件。关闭()
返回str(文件内容)
以下是不起作用的部分:

conf_file=fread(“设置”)
conf_file.split(“,”)
打印(conf_文件[2])

这将返回1而不是红色

str.split
不会改变字符串,因为它们是不可变的。您需要将返回值分配回变量:

conf_file = fread("settings")
conf_file = conf_file.split(",")
print(conf_file[2])
包含以下内容的行:

open('{}'.format(file_name), 'r')
如果不需要修改输入字符串,可以按以下方式编写:

open(file_name, 'r')
由于您的所有项目都包含在双引号中,Python将在字符串中包含它们。如果只想使用字符串中的值,则需要使用字符串的一部分来删除它们。在用逗号拆分后添加此行:

conf_file = [value[1:-1] for value in conf_file]
现在像
''11'
这样的数据将只是
'11'
。请注意,这不会将
字符串
11转换为
int
11

您需要在“逗号”上拆分,并删除包含的双引号-

此外,不需要四行函数来读取文件内容:

conf_file = [part.strip('"') for part in open(filename).read().split(",")]

您可以使用
csv
模块

import csv

def fread(file_name):
    with open(file_name) as f:
        return next(csv.reader(f))

print(fread("file.name"))
conf\u file=conf\u file.split(“,”)替换
conf\u file.split(“,”)