Python错误;找不到 os.walk 的文件
Python error; can not find file with os.walk
在我 运行 我的 python 脚本所在的当前工作目录中,我有多个子目录,它们都包含文件 'genes.faa.genespercontig.csv'。我想为这些文件创建一个 pandas 数据框。
当我 运行 我的脚本时,我收到错误:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\KLIF\Documents\Linda\genes.faa.genespercontig.csv\r'
我的脚本如下:
import os
import pandas as pd
for root, dirs, files in os.walk(os.getcwd()):
with open(os.path.join(root, 'genes.faa.genespercontig.csv', 'r')) as f1:
df1 = pd.read_csv('f1', header=None, delim_whitespace=True, names = ["contig", "genes"])
print(df1)
我确定文件在de子目录下,但是为什么python找不到呢?
除非 "r" 是名为 "genes.faa.genespercontig.csv" 的目录中的一个文件,简单的语法错误。您的括号需要稍微调整一下:
...
with open(os.path.join(root, 'genes.faa.genespercontig.csv'), 'r') as f1:
...
此外,鉴于您说文件包含在子目录中,您可能需要在 os.walk
函数返回的 dirs
变量中遍历子目录。我注意到您使用字符串 'f1'
传递给 pd.read_csv
但大概您想要打开的文件对象。类似于:
import os
import pandas as pd
for root, dirs, files in os.walk(os.getcwd()):
for subdir in dirs:
with open(os.path.join(root,subdir,'genes.faa.genespercontig.csv'),'r') as f1:
df1 = pd.read_csv(f1, header=None, delim_whitespace=True, names = ["contig", "genes"])
print(df1)
要仅尝试打开实际存在的文件,请使用:
...
filepath = os.path.join(root,subdir,'genes.faa.genespercontig.csv')
if os.path.isfile(filepath):
with open(filepath, 'r') as f1:
...
在我 运行 我的 python 脚本所在的当前工作目录中,我有多个子目录,它们都包含文件 'genes.faa.genespercontig.csv'。我想为这些文件创建一个 pandas 数据框。
当我 运行 我的脚本时,我收到错误:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\KLIF\Documents\Linda\genes.faa.genespercontig.csv\r'
我的脚本如下:
import os
import pandas as pd
for root, dirs, files in os.walk(os.getcwd()):
with open(os.path.join(root, 'genes.faa.genespercontig.csv', 'r')) as f1:
df1 = pd.read_csv('f1', header=None, delim_whitespace=True, names = ["contig", "genes"])
print(df1)
我确定文件在de子目录下,但是为什么python找不到呢?
除非 "r" 是名为 "genes.faa.genespercontig.csv" 的目录中的一个文件,简单的语法错误。您的括号需要稍微调整一下:
...
with open(os.path.join(root, 'genes.faa.genespercontig.csv'), 'r') as f1:
...
此外,鉴于您说文件包含在子目录中,您可能需要在 os.walk
函数返回的 dirs
变量中遍历子目录。我注意到您使用字符串 'f1'
传递给 pd.read_csv
但大概您想要打开的文件对象。类似于:
import os
import pandas as pd
for root, dirs, files in os.walk(os.getcwd()):
for subdir in dirs:
with open(os.path.join(root,subdir,'genes.faa.genespercontig.csv'),'r') as f1:
df1 = pd.read_csv(f1, header=None, delim_whitespace=True, names = ["contig", "genes"])
print(df1)
要仅尝试打开实际存在的文件,请使用:
...
filepath = os.path.join(root,subdir,'genes.faa.genespercontig.csv')
if os.path.isfile(filepath):
with open(filepath, 'r') as f1:
...