Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python相当于Bash$()_Python_Equivalent - Fatal编程技术网

Python相当于Bash$()

Python相当于Bash$(),python,equivalent,Python,Equivalent,我在Python等价物中搜索以下Bash代码: VAR=$(echo $VAR) 伪Python代码可以是: var = print var 你能帮忙吗?:-) 问候 编辑: 我正在寻找一种方法来做到这一点: for dhIP in open('dh-ips.txt', 'r'): gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE) print gi.country_code_by_addr(print dhIP) # <-- this l

我在Python等价物中搜索以下Bash代码:

VAR=$(echo $VAR)
伪Python代码可以是:

var = print var
你能帮忙吗?:-)

问候

编辑:

我正在寻找一种方法来做到这一点:

for dhIP in open('dh-ips.txt', 'r'):
    gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
    print gi.country_code_by_addr(print dhIP) # <-- this line is my problem

如果您只是尝试将一个值重新分配给相同的名称,则会是:

var = var
现在,如果您试图为
var
引用的任何对象分配字符串表示(通常是
print
返回的内容):

var = str(var)

这就是您要找的吗?

如果您只是尝试将一个值重新分配给同一个名称,它将是:

var = var
现在,如果您试图为
var
引用的任何对象分配字符串表示(通常是
print
返回的内容):

var = str(var)

这就是您想要的吗?

您可能需要尝试以下功能:

str(var)


repr(var)

您可能需要尝试以下功能:

str(var)


repr(var)

您不需要在其中打印
,只需使用变量的名称:

for dhIP in open('dh-ips.txt', 'r'):
    gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
    print gi.country_code_by_addr(dhIP)

还要注意的是,遍历文件对象会给您在末尾添加换行符的行。您可能需要使用类似于
dhIP.rstrip(“\n”)
的东西来删除它们,然后再通过\u addr将其传递到
country\u code\u您不需要在其中打印,只需使用变量名:

for dhIP in open('dh-ips.txt', 'r'):
    gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
    print gi.country_code_by_addr(dhIP)

还要注意的是,遍历文件对象会给您在末尾添加换行符的行。您可能需要使用类似于
dhIP.rstrip(“\n”)
的东西来删除它们,然后再通过\u addr
将其传递到
country\u code\u,只需按原样使用
dhIP即可。无需对其进行任何特殊处理:

for dhIP in open('dh-ips.txt', 'r'):
    gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
    print gi.country_code_by_addr(dhIP)
注意:您的代码还有一些其他问题

在我看来,由于不熟悉您使用的库,您在循环的每个迭代中都不必要地实例化了GeoIP。此外,您不应丢弃文件句柄,以便以后可以关闭文件

fp = open('dh-ips.txt', 'r')
gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)

try:
    for dhIP in fp:
        print gi.country_code_by_addr(dhIP)
finally:
    fp.close()
或者,更好的是,在2.5及更高版本中,您可以使用上下文管理器:

with open('dh-ips.txt', 'r') as fp:
    gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
    for dhIP in fp:
        print gi.country_code_by_addr(dhIP)

只需按原样使用
dhIP
。无需对其进行任何特殊处理:

for dhIP in open('dh-ips.txt', 'r'):
    gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
    print gi.country_code_by_addr(dhIP)
注意:您的代码还有一些其他问题

在我看来,由于不熟悉您使用的库,您在循环的每个迭代中都不必要地实例化了GeoIP。此外,您不应丢弃文件句柄,以便以后可以关闭文件

fp = open('dh-ips.txt', 'r')
gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)

try:
    for dhIP in fp:
        print gi.country_code_by_addr(dhIP)
finally:
    fp.close()
或者,更好的是,在2.5及更高版本中,您可以使用上下文管理器:

with open('dh-ips.txt', 'r') as fp:
    gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
    for dhIP in fp:
        print gi.country_code_by_addr(dhIP)

你到底想做什么?你认为bash代码做什么?例如:
VAR=“-e”
VAR=“ab”
(我不知道如何格式化那里的多个空格)。您真正想要做什么?您是否正在尝试将命令行程序的输出分配给变量?或者是抓住一个环境变量的值?PS我不知道为什么每个人都对建议eval的人投了反对票,这就是$()语法的字面意思。我编辑了我的问题。希望现在更清楚。你到底想做什么?你认为bash代码做什么?例如:
VAR=“-e”
VAR=“ab”
(我不知道如何格式化那里的多个空格)。您真正想要做什么?您是否正在尝试将命令行程序的输出分配给变量?或者是抓住一个环境变量的值?PS我不知道为什么每个人都对建议eval的人投了反对票,这就是$()语法的字面意思。我编辑了我的问题。希望现在更清楚。需要rstrip(“\n”)!我使用了你的评论和来自hop的代码,现在它可以工作了。非常感谢。需要rstrip(“\n”)!我使用了你的评论和来自hop的代码,现在它可以工作了。非常感谢,谢谢!与rstrip(“\n”)一起,它就像一个符咒一样工作!:-)非常感谢。与rstrip(“\n”)一起,它就像一个符咒一样工作!:-)