我有以下代码:
import sys
class Graph():
def __init__(self, vertices):
self.V = vertices
self.graph = [[0 for column in range(vertices)]
for row in range(vertices)]
def printAnswer(self, dist, src):
for node in range(self.V):
if(node != src):
print("node", src, "to node", node, ":", dist[node])
def minDistance(self, dist, sptSet):
min = 1000000009
for u in range(self.V):
if dist[u] < min and sptSet[u] == False:
min = dist[u]
min_index = u
return min_index
def dijkstraMinDist(self, src):
dist = [1000000009] * self.V
dist[src] = 0
sptSet = [False] * self.V
for cout in range(self.V):
x = self.minDistance(dist, sptSet)
sptSet[x] = True
for y in range(self.V):
if self.graph[x][y] > 0 and sptSet[y] == False and \
dist[y] > dist[x] + self.graph[x][y]:
dist[y] = dist[x] + self.graph[x][y]
self.printAnswer(dist, src)
n = int(sys.argv[1])
g = Graph(n)
g.graph = []
for i in range(0, n):
l = list(map(int, sys.argv[2].split()))
g.graph.append(l)
for i in range(0, n):
g.dijkstraMinDist(i)
和一个输入文件:
4
0 2 -1 3
-1 0 1 5
2 3 0 -1
3 -1 4 0
我想跑步
python3文件。py输入。txt输出。txt
从命令行,但当我运行时,我得到:
Traceback (most recent call last):
File "/Users/c/Desktop/dijk/a.py", line 54, in <module>
n = int(sys.argv[1])
ValueError: invalid literal for int() with base 10: 'input.txt'
现在输出在命令行上,但我也希望打印在文本文件输出中。txt