2 回答

TA貢獻1828條經驗 獲得超3個贊
正如其他人所提到的,您需要對從函數返回值進行一些讀取,然后可以在其他區域使用。我重新格式化了你的代碼,以顯示它可能是什么樣子,看看你是否能挑出所做的更改。我重命名了一些函數,以便更好地描述它們的作用。另外,我沒有正式測試這段代碼,但它應該讓你很好地了解你需要采取什么方向。
另外,仍然試圖獲得聲譽點,所以如果它有幫助,請將答案標記為已接受!
import os
import re
def get_folder_path():
input_path = input('Type the path to the folder: ')
return os.path.join(input_path)
def set_regex():
input_term = input('Type the regex to search for: ')
return re.compile(input_term)
def search_for_files():
path = get_folder_path()
search_regex = set_regex()
file_list = os.listdir(path)
count = 0
for file in file_list:
with open(file, 'r') as f:
file_content = f.read()
match = re.search(search_regex, file_content)
if match:
count += 1
print('A grand total of ' + str(count) + ' items were found at ' + str(path))
search_for_files()

TA貢獻1796條經驗 獲得超10個贊
下面是一個代碼示例,類似于您的原始代碼,它以線性方式計算直角三角形的斜邊:
import math
a = 3
b = 4
c = math.sqrt(a**2 + b**2)
以下是等效的代碼,重新編寫以使其更易于組合,更加模塊化:
import math
def hypotenuse(a, b):
return math.sqrt(a**2 + b**2)
c = hypotenuse(3, 4)
添加回答
舉報