通过python面向对象编程运行图形
我的问题是关于用python输入对象的 我试图创建一个对象,打开这个python文件,它要求我输入一个数据文件的路径,我输入路径,它会为我打印一个数据图 到目前为止,我有:通过python面向对象编程运行图形,python,object,input,graph,Python,Object,Input,Graph,我的问题是关于用python输入对象的 我试图创建一个对象,打开这个python文件,它要求我输入一个数据文件的路径,我输入路径,它会为我打印一个数据图 到目前为止,我有: def graph_openprices(): while True: try: from matplotlib import pyplot as plt from matplotlib import style import numpy as np p
def graph_openprices():
while True:
try:
from matplotlib import pyplot as plt
from matplotlib import style
import numpy as np
path_openprices = input("Input file path_g: ")
style.use('ggplot')
x,y = np.loadtxt(path_openprices, unpack = True, delimiter= ',')
plt.plot(x,y)
plt.title('My chart')
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()
anykey = input("Input anything to return to the main menu ")
exit
except OSError:
print("Directory incorrect, please input a valid directory")
graph_openprices()
graph_openprices()
我正在运行这个代码,但是,每次它要求我输入我的代码,我输入它
D:\Mycode\exampleFile.txt
什么都没有发生,什么都没有出现,这只是空间。但是,当我通过在前面放置一个#来停用path_openprices行,并在x,y变量中键入path_openprices所在的路径时,它就起作用了
有人知道我做错了什么,以及我如何使输入部分工作吗?您使用的是
input
,它试图将给定的输入作为Python代码进行计算——请参阅,它告诉您它相当于运行eval(原始输入(…))
$echo'D:\MyCode\lol.txt'| python-c'input()'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第1行
D:\MyCode\lol.txt
^
SyntaxError:无效语法
您通常不希望计算用户给定的任意字符串,因此请改用。您在
while True
循环中使用try
时,仅使用一个特定的匹配异常,因此如果发生其他错误,您将不会被告知它是什么
使用print
语句查看代码在似乎什么都没做时正在做什么
$ echo 'D:\MyCode\lol.txt' | python -c 'input()'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1
D:\MyCode\lol.txt
^
SyntaxError: invalid syntax