首页 > 解决方案 > 如何使用正斜杠连接文件夹和文件名?

问题描述

from pathlib import Path
import os

folderpath = input("What is the absolute path to Superman's folder?")

mypath = Path(folderpath)

mypath = os.listdir(folderpath)
for files in mypath:
    print ("Found one of Superman's's files..." + files)
#up to here, the code is good

for read in byfiles:
    byfiles = ('mypath\\files')
    byfiles.read_text()
    if "Superman" in read:
        print("Found Superman in file " + read)

我需要在输入路径中搜索文件并找到超人这个词,然后打印找到这个词的位置。我无法让连接与 .read_text() 一起工作。

这是输出:

What is the absolute path to Superman's folder?C:\Users\OneDrive\Documents\Superman_files
Found one of Superman's files...boring_document.txt
Found one of Superman's files...eggs.txt
Found one of Superman's files...hello.txt
Found one of Superman's files...secret_document.txt
Found one of Superman's files...spam.txt

任何帮助将不胜感激。

标签: pythonpython-3.xstring-concatenation

解决方案


os.listdir返回一个字符串列表,以便您可以检查:

for read in mypath:
    if "Superman" in read:
        print("Found Superman in file " + read)

如果要检查文件的内容,可以使用:

from pathlib import Path


folderpath = input("What is the absolute path to Superman's folder?")
mypath = Path(folderpath)

for child in mypath.iterdir():
    if child.is_file():
        with open(child, 'r') as file:
            if "Superman" in file.read():
                print("Found Superman in file ",  child.relative_to(mypath))

推荐阅读