如何使用python从文件中读取复数

isr*_*ell 2 python complex-numbers python-2.7

我想使用Python从文件中读取一组复数到一个数组中.我知道如何只对整数这样做.我试过这个,但是当我运行它时,它说:complex()arg是一个格式错误的字符串.如何读取复数?我刚开始学习Python.

f=open("file.txt","r+")
array=[]
for line in f:
     line=line.split()
     if line: 
            line=[complex(i) for i in line]
Run Code Online (Sandbox Code Playgroud)

我的文件只包含复数:

1+i
1-i
1
2
-3
Run Code Online (Sandbox Code Playgroud)

wim*_*wim 6

你需要使用工程师j而不是数学家的ipython中的虚构单元.

你可以改变一些简单的东西:

line = line.replace('i', 'j').split()
Run Code Online (Sandbox Code Playgroud)

而不是line=line.split()你现在,这应该修复你的代码.

请注意,.split()如果每行只有一个数字,则根本不需要,您仍需要将结果附加到容器中array.我会把这一点留给你.

另外numpy.loadtxt,如果您有可用的numpy ,请考虑使用解析您的文件.