Bash到python脚本

我想在python中创建脚本,但是出现此错误。可以请任何人帮助我。


Traceback (most recent call last):

  File "./python_test.py", line 7, in <module>

    if i in range(1, 254):

NameError: name 'i' is not defined

=================================


#!/usr/bin/env python

import os

if i in range(1, 254):

   all=os.system("echo 10.11.1.i")

   print(all)

=====================================


for ip in $(seq 1 254);do echo 10.11.1.$ip;done


蓝山帝景
浏览 141回答 3
3回答

蛊毒传说

要遍历您使用的范围内的所有数字for,而不是if。另外,range()不包含最终值,因此,如果要254使用,则必须使用range(1, 255)。for&nbsp;i&nbsp;in&nbsp;range(1,&nbsp;255):变量不会在字符串内扩展。使用字符串格式。allresults=os.system("echo&nbsp;10.11.1.%d"&nbsp;%&nbsp;i) print(allresults)您也不应该使用all变量名称,它是内置Python函数的名称。

长风秋雁

尝试以下代码,您需要将if语句更改为#!/usr/bin/env pythonimport osfor i in range(1, 255):&nbsp; &nbsp;all_=os.system("echo 10.11.1."+str(i))&nbsp; &nbsp;print(all_)

摇曳的蔷薇

试试这个新的f字符串(通过python 3.6.0):import osfor i in range(1, 255):&nbsp; &nbsp;all_=os.system(f"echo 10.11.1.{i}")&nbsp; &nbsp;print(all_)或str.format:import osfor i in range(1, 255):&nbsp; &nbsp;all_=os.system("echo 10.11.1.{}".format(i))&nbsp; &nbsp;print(all_)注意:重命名为,all_因为它all是一个内置关键字,您不想覆盖它
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python