简体   繁体   中英

How do I concatenate the folder and the file name with a forward slash?

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)

I need to search the files in input path and locate the word Superman and then print the location where the word was found. I cannot get the concatenation to work along with the.read_text().

This is the output:

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

Any help would be greatly appreciated.

os.listdir returns a list of strings so you can check like:

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

if you want to check the content of your file you can use:

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))
folder = Path(folder_path)

myfiles = os.listdir(folder)

for file in myfiles:
   file_path = Path.join(folder, file)
   print(file_path) # Here you can perform file_path.read_text()

Hope this helps. The code is self explanatory. So I am skipping the explanation.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM