请原谅我,如果这是一个非常简单的问题,但我是python的新手 我有两个文件路径文件列表,我想从第一个列表中选择第一个文件,检查具有第一个文件的子字符串的文件并运行我的代码。
例如:
first_list:
second_list
我试过
if os.path.basename(first_file) in os.path.basename(second_file):
file2 = this_file
open(this_file,'r') as f:
#then run my code
答案 0 :(得分:0)
尝试剥离文件扩展名并查看它是否有效,假设这些文件不是文件的真实名称。如果您要搜索的子字符串不在文件名的末尾,则比较将因扩展而失败。例如:
"name1.csv" in "testname1.csv" # True
"test.csv" in "testname1.csv" # False
第一个示例有效,因为name1.csv位于testname1.csv中,但第二个示例因文件扩展名而失败。
最简单的解决方法是通过切掉最后4个字符来删除扩展名,即:
my_search_string = os.path.basename(first_file)
if my_search_string[:-4] in os.path.basename(second_file):
[:-4]
从字符串末尾向后计数4个字符并返回其他所有字符。