以下代码来自matplotlib库:
#!/usr/bin/env python
from pylab import *
x = array([10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5])
y = array([8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68])
我是python的新手,想要从输入文件中更改x
和y
的内容。我有两个简短的问题:
array
的意思,
但是一旦我在代码上看到它,怎么样
我能知道哪个库吗?
属于和更多的信息
它?我应该使用某种python吗?
debug命令?x
?由于
答案 0 :(得分:2)
关于你的1.这是由于给你这个程序的人的坏习惯。应该是:
#!/usr/bin/env python
import pylab
x = pylab.array([10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5])
y = pylab.array([8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68])
help(pylab.array)
或
#!/usr/bin/env python
from pylab import array
x = array([10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5])
y = array([8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68])
help(array)
使用help(something)
。它有助于:)
如果程序变得有点复杂,使用显式导入非常方便。我知道from package import *
最好的唯一情况是在python提示符下播放时尝试输出。
关于文件,你能描绘出文件的样子吗?而且我相信numpy在某处有一个数组加载函数,请查看cookbook。
答案 1 :(得分:1)
(1)启动python控制台并在你想要了解的任何对象/类/变量上使用dir()函数。它将打印出对象的所有方法和属性。
>> import pylab
>> x = pylab.array([10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5])
>> dir(x)
(2)在python文档中查找File Objects
答案 2 :(得分:1)
使用help
函数找出对象可以执行的操作。
import pylab
help(pylab.array)
“它属于哪个图书馆”是一个有趣的问题。如果您重构代码而不使用import *
,则可以轻松了解正在使用它的模块。 (永远不要使用import *
。)这并不意味着它是原来的家 - pylab
只是为了方便汇集了一堆东西的地方。 pylab
从matplotlib.pylab
获取numpy
,从numpy.core.multiarray
获取它,pylab.array.__module__
(这是一个C扩展模块)。 {1}}当它很重要时,你可以看到它原来的家。这种情况并不常见。
pylab
,只需从numpy
,scipy
和matplotlib
获取内容,因为你需要保留它们事情有条理。引用Python的禅宗:命名空间是一个很棒的主意 - 让我们做更多的事情! 如何从文件构建numpy数组取决于文件的格式。 numpy.fromfile
/ pylab.fromfile
可以导入存储数组数据的二进制文件。 (这与numpy.tofile
使用的格式相同 - 那里有很大的震撼。)
答案 3 :(得分:0)
array
似乎是pylab
中的一个函数/类。您可以help(array)
查找更多内容 - 这取决于array
是否存在正确的文档字符串。
from module import *
在几个方面是一个有问题的习惯用语,因为它很难找到标识符的来源。
import pylab
x = pylab.array(...)
可能是更好的方式。
答案 4 :(得分:0)
回答问题#2,如果你的文件是这样的:
10 8.04
8 6.95
13 7.58
9 8.81
11 8.33
14 9.96
6 7.24
4 4.26
12 10.84
7 4.82
5 5.68
然后我会这样做:
x_list = list()
y_list = list()
fp = open('coords.txt', 'r')
for line in fp:
line = line.strip() # Remove trailing whitespace
if not line: continue # Skip empty lines
a,b = line.split() # Split line by whitespace, storing coords in a & b
x_list.append(a) # Add a to x_list
y_list.append(b) # Add b to y_list
fp.close()
x = array(x_list)
y = array(y_list)