如何在python中找到字符串中没有空格的特定字符?

如何在python中找到字符串中没有空格的特定字符?,python,string,Python,String,嘿,我有读取文件和处理它们的循环。我想从这个循环中排除一些文件 假设文件名为: (它们都在同一个名为“数据”的目录中) 我想排除名称中包含“bca”部分的文件。我不想读它们 我怎么能做到 for file in glob.glob("path/data/*csv"): if "bca" in file: None else: df = df.read_csv(file) 它不起作用。我也收到了“bca”文件 谢谢 您

嘿,我有读取文件和处理它们的循环。我想从这个循环中排除一些文件

假设文件名为: (它们都在同一个名为“数据”的目录中)

我想排除名称中包含“bca”部分的文件。我不想读它们

我怎么能做到

for file in glob.glob("path/data/*csv"):
   if "bca" in file: 
      None 
   else:
     df = df.read_csv(file)
它不起作用。我也收到了“bca”文件


谢谢

您可以使用not like来否定表达式:

In [183]: filenames
Out[183]: ['123abc456.csv', '123bca456.csv', '455abc324.csb']

In [184]: [x for x in filenames if 'bca' not in x]
Out[184]: ['123abc456.csv', '455abc324.csb']
假设您的路径为“/home/user/Documents/*”

嗯,你可以试试

for file in glob.glob("path/data/*csv"):
if "bca" not in file: 
  df = df.read_csv(file)

glob.glob
返回完整路径,目录名中是否存在
bca
?您的代码按预期工作,不会打印包含“bca”的文件。检查您的输出或您的代码版本。仅在以下文件名中:“/data/test/files/123bca456.csv”标题中的“无空格”位如何?我在文件名或模式中都没有看到空格。或者是否存在一些文件,例如
“b ca”
,您也希望排除这些文件?您的问题不清楚。请尽量让您的期望更清晰,并提供简单、精心挑选的文件名示例,说明您希望接受/拒绝的文件名。如果您描述代码的作用和/或它如何帮助他们,这将对OP有所帮助。
import glob

for file_path in glob.glob("/home/user/Documents/*"):
    if not "bca" in file:
        print(file_path)
        # do something with file
for file in glob.glob("path/data/*csv"):
if "bca" not in file: 
  df = df.read_csv(file)