在python中的url中使用变量

在python中的url中使用变量,python,Python,对不起,这个非常基本的问题。我是Python新手,正在尝试编写一个可以打印URL链接的脚本。IP地址存储在名为list.txt的文件中。我应该如何使用链接中的变量?你能帮忙吗 # cat list.txt 192.168.0.1 192.168.0.2 192.168.0.9 脚本: import sys import os file = open('/home/list.txt', 'r') for line in file.readlines(): source = line

对不起,这个非常基本的问题。我是Python新手,正在尝试编写一个可以打印URL链接的脚本。IP地址存储在名为list.txt的文件中。我应该如何使用链接中的变量?你能帮忙吗

# cat list.txt

192.168.0.1
192.168.0.2
192.168.0.9
脚本:

import sys
import os

file = open('/home/list.txt', 'r')

for line in file.readlines():
    source = line.strip('\n')
    print source

link = "https://(source)/result”
print link
输出:

192.168.0.1
192.168.0.2
192.168.0.9
https://(source)/result
预期产出:

192.168.0.1
192.168.0.2
192.168.0.9
https://192.168.0.1/result
https://192.168.0.2/result
https://192.168.0.9/result
试试这个:

lines = [line.strip('\n') for line in file]

for source in lines:
    print source

for source in lines:
    link = "https://{}/result".format(source)
    print link
您刚才描述的功能通常被称为。 在Python中,这称为

Python中有两种样式的字符串格式:旧样式和新样式。 在上面的示例中,我展示了新的样式,其中我们使用名为
format
的字符串方法格式化。
虽然旧样式使用
%
运算符,例如
“https://%s/result”%source

在循环中获取链接,但您并没有向其添加数据,而是每次都为其赋值。使用类似以下内容:

file = open('/home/list.txt', 'r')

for line in file.readlines():
    source = line.strip('\n')
    print source
    link = "https://%s/result" %(source)
    print link
import sys
import os
    file = open('/home/list.txt', 'r')
    for line in file.readlines():
        source = line.strip('\n')
        print source
        link = "https://%s/result”%source
        print link

您需要传递实际变量,您可以在文件对象上迭代,这样就不需要使用readlines和使用
with
来打开文件,因为它会自动关闭文件。如果您想查看每一行,还需要在循环中进行打印,
str.rstrip()
将删除每一行末尾的任何换行:

with open('/home/list.txt') as f:  
    for ip in f:
        print "https://{0}/result".format(ip.rstrip())
如果要存储所有链接,请使用:

对于Python2.6,必须使用传递位置参数的数字索引,即
{0}

您还可以使用名称传递到str.format:

with open('/home/list.txt') as f:
    for ip in f:
        print "https://{ip}/result".format(ip=ip.rstrip())

对字符串使用格式说明符,并将链接打印部分仅放在for循环中 大概是这样的:

file = open('/home/list.txt', 'r')

for line in file.readlines():
    source = line.strip('\n')
    print source
    link = "https://%s/result" %(source)
    print link
import sys
import os
    file = open('/home/list.txt', 'r')
    for line in file.readlines():
        source = line.strip('\n')
        print source
        link = "https://%s/result”%source
        print link

谢谢你,帕德雷克。。已尝试但未获得此错误。回溯(最近一次调用):文件“script.py”,第7行,在links=[“https://{}/result.format(line.rstrip())中,用于f]ValueError中的行:长度为零的字段名format@user3331975,现在试试,您使用的是python<2.7 yes?@user3331975,对于python>2.6,您不需要将位置索引传递给str.format