Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.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 使用courses从.txt文件创建字典_Python - Fatal编程技术网

Python 使用courses从.txt文件创建字典

Python 使用courses从.txt文件创建字典,python,Python,编写一个程序来创建一个字典,其中包含文件中的键值对 “CourseInstructor.txt” 我开始使用txt文件创建字典,但收到以下错误: Course=("CourseInstructor.txt",'r') for line in Course: key,val = line.split(" ") Inst[key] = val Course.close() ValueError:没有足够的值来解包(预期为2,得到1)您应该执行以下操作: Inst = dict()

编写一个程序来创建一个字典,其中包含文件中的键值对 “CourseInstructor.txt” 我开始使用txt文件创建字典,但收到以下错误:

Course=("CourseInstructor.txt",'r')
for line in Course:
    key,val = line.split(" ")
    Inst[key] = val
Course.close()

ValueError:没有足够的值来解包(预期为2,得到1)

您应该执行以下操作:

Inst = dict()
with open("CourseInstructor.txt",'r') as Course:
    for line in Course:
        key,val = line.rstrip("\n").split(" ")
        Inst[key] = val
key1 value1
key2 value2
key3 value3
key1 value1
key2 value2
key3 value3
打开文件的最佳方法是使用打开文件,它将在打开后关闭文件。
rstrip(“\n”)
将从每行末尾删除
\n
。 您还需要知道的是,您的输入文件(
CourseInstructor.txt
)应该是这样的:

Inst = dict()
with open("CourseInstructor.txt",'r') as Course:
    for line in Course:
        key,val = line.rstrip("\n").split(" ")
        Inst[key] = val
key1 value1
key2 value2
key3 value3
key1 value1
key2 value2
key3 value3
如果文件不包含新行,请使用以下命令:

your_string = your_string.split(" ")
keys = [i for i in your_string[::2]]
values = [i for i in your_string[1::2]]
final_dict = {keys[i]:values[i] for i in range(len(values)) }

你应该这样做:

Inst = dict()
with open("CourseInstructor.txt",'r') as Course:
    for line in Course:
        key,val = line.rstrip("\n").split(" ")
        Inst[key] = val
key1 value1
key2 value2
key3 value3
key1 value1
key2 value2
key3 value3
打开文件的最佳方法是使用打开文件,它将在打开后关闭文件。
rstrip(“\n”)
将从每行末尾删除
\n
。 您还需要知道的是,您的输入文件(
CourseInstructor.txt
)应该是这样的:

Inst = dict()
with open("CourseInstructor.txt",'r') as Course:
    for line in Course:
        key,val = line.rstrip("\n").split(" ")
        Inst[key] = val
key1 value1
key2 value2
key3 value3
key1 value1
key2 value2
key3 value3
如果文件不包含新行,请使用以下命令:

your_string = your_string.split(" ")
keys = [i for i in your_string[::2]]
values = [i for i in your_string[1::2]]
final_dict = {keys[i]:values[i] for i in range(len(values)) }

如果您的文件如下所示:

Inst = dict()
with open("CourseInstructor.txt",'r') as Course:
    for line in Course:
        key,val = line.rstrip("\n").split(" ")
        Inst[key] = val
key1 value1
key2 value2
key3 value3
key1 value1
key2 value2
key3 value3
您可以尝试:

print({line.split()[0]:line.split()[1] for line in open('file','r')})
输出:

{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

当文件对象被垃圾回收时,文件最终将被关闭。有关详细信息。

如果您的文件如下所示:

Inst = dict()
with open("CourseInstructor.txt",'r') as Course:
    for line in Course:
        key,val = line.rstrip("\n").split(" ")
        Inst[key] = val
key1 value1
key2 value2
key3 value3
key1 value1
key2 value2
key3 value3
您可以尝试:

print({line.split()[0]:line.split()[1] for line in open('file','r')})
输出:

{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

当文件对象被垃圾回收时,文件最终将被关闭。有关更多信息。

您是否也可以发布您的文件?您从未打开过该文件。你错过了
打开
(“CourseInstructor.txt”,“r”)前面的
。我想你的文件
CourseInstructor.txt
没有包含足够的数据。你能不能也发布你的文件?你从来没有打开过该文件。你错过了
打开
(“CourseInstructor.txt,'r')
。我想你的文件
CourseInstructor.txt
没有包含足够的数据。我试过了,但它仍然给我同样的错误:ValueError:没有足够的值来解压这行代码:key,val=line.rstrip(“\n”)。split(“”)请发布您的文件内容@NatCIS2200 Izen CIS3100 Ennour CIS3120 Kumar CIS3400蕨类CIS3750 Gubernat CIS3920 Cai CIS4100 Friedman CIS4110 Finnegan CIS4160 Craig CIS4400 Holowczak CIS4800 Finnegan CIS5800 Brown CIS9340 Kline CIS9440 Holowczak CIS9480 Bianco CIS9490 Kiris CIS9557 Kumar CIS9660但这并不是一条生产线的全部,它仍然给了我同样的感觉错误:ValueError:没有足够的值来解压缩这行代码:key,val=line.rstrip(“\n”)。拆分(“”)请发布文件内容@NatCIS2200 Izen CIS3100 Ennour CIS3120 Kumar CIS3400蕨类CIS3750 Gubernat CIS3920 Cai CIS4100 Friedman CIS4110 Finnegan CIS4160 Craig CIS4400 Holowczak CIS4800 Finnegan CIS5800 Brown CIS9340 Kline CIS9440 Holowczak CIS9480 Bianco CIS9490 Kiris CIS9557 Kumar CIS9660但这并不是一条直线