我试图写一个简单的程序,它需要对一个文件中的数字进行排序,然后将输出写入另一个文件,但我做不到。在
from sys import argv
try:
with open(argv[1],"r") as desti:
with open("nums_ordenats.txt","w") as prl:
for n in desti:
argv.pop(0)
argv.sort()
argv.sort(key=len)
prl.write(str(n)+("\n"))
except Exception as err:
print(err, "Error")
有人能解释一下错误在哪里吗?谢谢!在
您的方法不起作用,因为索引超出范围,您可以执行以下代码来读取并排序文件中的数字。在
如果文件包含逗号分隔的值。在
错误在
argv.pop(0)
行中,因为argv
在运行时为空。这意味着desti
(argv[1]
)比argv
长。 原因是argv的格式是['C:\\This\\is\\a\\path.py']
,因此只包含'C:\\This\\is\\a\\path.py'
。argv[1]
, 但是('C:\\This\\is\\a\\path.py'
)包含每个单独的字符,因为它是一个字符串。如果需要每个单独的文件夹(然后是文件),可以使用:argv[1].split('\\')
,它将返回:['C:', 'This', 'is', 'a', 'path.py']
相关问题 更多 >
编程相关推荐