Я новичок в питоне. У меня есть несколько текстовых файлов в каталоге, и отдельный текстовый файл содержит исходные ссылки для каждого из текстовых файлов. То есть, у меня есть 1.txt, 2.txt и 3.txt, сохраненные в каталоге, и у меня есть текстовый файл веб-ссылки (строка 1 (wiki.com/a) является ссылкой для 1.txt, строка 2 (wiki.com /b — это ссылка для 2.txt...). Я могу получить имена текстовых файлов, но не могу использовать результат для поиска ссылок из текстового файла веб-ссылок.
#first part
path = 'C:\\Users\\PycharmProjects\\pythonProject1\\Document'
files = [os.path.splitext(filename)[0] for filename in os.listdir(path)]
print(files) #result from here is ['1', '2', '3']
#second part
file = open("C:\\Users\\PycharmProjects\\pythonProject1\\link.txt")
specified_lines = files #files are taking the result from first part
for pos, l_num in enumerate(file):
if pos in specified_lines:
print(l_num)
если я использую selected_lines = [0,1,2], то функция работает, как мне включить вывод из моей первой части во вторую часть? На данный момент указанные_линии = файлы во второй части ничего не возвращают.
да, я передаю файлы из первой функции во вторую функцию, чтобы найти соответствующую ссылку для каждого номера файла в link.txt. когда я печатаю (файлы) под печатью (l_num) во второй функции, она ничего не возвращает.
не могли бы вы включить строки, где вы вызываете эти функции?
не уверен, что сделал это правильно, но все мои коды просто объединяют первую и вторую часть того, что я поделился в описании своего поста.
Надеюсь это поможет.
pos
, я вижу, что он основан на 0, поэтому вы можете сместить pos
pos
из целого числа в строку перед поискомimport os
path = '.'
files = [os.path.splitext(filename)[0] for filename in os.listdir(path)]
print(files) #result from here is ['1', '2', '3']
#second part
file = open("weblink")
specified_lines = files #files are taking the result from first part
for pos, l_num in enumerate(file):
print(pos)
if str(pos+1) in specified_lines:
print(l_num)
Результат моей попытки:
['orig', 'weblink', 'notes', '3', '2', '1']
0
wiki.com/a
1
wiki.com/b
2
wiki.com/c
Вы упомянули, что это отдельные функции — вы передаете
files
второй функции? Если вы сделаетеprint(files)
во второй функции, что она скажет?