Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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 将for循环输出转换为字符串_Python - Fatal编程技术网

Python 将for循环输出转换为字符串

Python 将for循环输出转换为字符串,python,Python,如何将此循环的输出转换为此格式的字符串 ABCDEF,BCDEFG,CDEFGH,DEFGHI fileHandle = open( 'urls.txt', 'r' ) raw_URLS = fileHandle.readlines() for items in raw_URLS: print(items[26:32]) fileHandle.close() URL.txt: www.example.com/directory/ABCDEF/pagename www.example

如何将此循环的输出转换为此格式的字符串

ABCDEF,BCDEFG,CDEFGH,DEFGHI

fileHandle = open( 'urls.txt', 'r' )
raw_URLS = fileHandle.readlines()

for items in raw_URLS:
    print(items[26:32])

fileHandle.close()
URL.txt:

www.example.com/directory/ABCDEF/pagename
www.example.com/directory/BCDEFG/pagename
www.example.com/directory/CDEFGH/pagename
www.example.com/directory/DEFGHI/pagename
您可以在列表中使用str.join:

data = ','.join([item[26:32] for item in open( 'urls.txt', 'r' )])

您可以在循环之前创建一个变量来存储字符串,然后在连接字符串的循环上迭代

您的代码如下所示:

string_you_want = ''
fileHandle = open( 'urls.txt', 'r' )
raw_URLS = fileHandle.readlines()

for items in raw_URLS:
    string_you_want = string_you_want + items[26:32] + ','
    print(items[26:32])

fileHandle.close()
试试这个:

f=open("urls.txt")
for line in f:
    print (line[26:32])

如果您的url模式相同,请尝试:

import re
result=[]
pattern=r'[A-Z]+'
with open('new_file.txt','r') as f:
    for line in f:
        if re.search(pattern,line):
            result.append(re.search(pattern,line).group())

print(result)
输出:

['ABCDEF', 'BCDEFG', 'CDEFGH', 'DEFGHI']

条目[26:32]似乎已经是每个URL所需的部分。那么你为什么还需要一个正则表达式呢?@mkrieger1我添加了一个解决方案来解释这个问题。是的,这就是解决方案。把第一部分放远点,它只会分散你的注意力。