Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 连接路径以检查文件是否存在时出错_Python 3.x - Fatal编程技术网

Python 3.x 连接路径以检查文件是否存在时出错

Python 3.x 连接路径以检查文件是否存在时出错,python-3.x,Python 3.x,嘿,我需要帮助来处理模拟数据 我正在构建一个函数来检查给定路径中最高的4位命名文件夹是什么,以及它是否包含名为“shearrate”的文件。这是在路径本身的目录中以及给定路径中未命名为4位数字的每个文件夹中完成的 在我添加检查文件是否存在之前,该函数工作正常 如果您能帮忙,我将不胜感激:) 我得到的错误是: Traceback (most recent call last): File "data_evaluation.py", line 141, in <module>

嘿,我需要帮助来处理模拟数据

我正在构建一个函数来检查给定路径中最高的4位命名文件夹是什么,以及它是否包含名为“shearrate”的文件。这是在路径本身的目录中以及给定路径中未命名为4位数字的每个文件夹中完成的


在我添加检查文件是否存在之前,该函数工作正常

如果您能帮忙,我将不胜感激:)

我得到的错误是:

Traceback (most recent call last):
  File "data_evaluation.py", line 141, in <module>
    search_files("shearrate", path)
  File "data_evaluation.py", line 107, in search_files
    folderlist = scan_directory(path, name)
  File "data_evaluation.py", line 98, in scan_directory
    folderlist.append(os.path.join(path, folder_level_1))
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/posixpath.py", line 94, in join
    genericpath._check_arg_types('join', a, *p)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/genericpath.py", line 149, in _check_arg_types
    (funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'int'
回溯(最近一次呼叫最后一次):
文件“data_evaluation.py”,第141行,在
搜索_文件(“剪切速率”,路径)
搜索文件中第107行的文件“data_evaluation.py”
folderlist=扫描目录(路径、名称)
文件“data_evaluation.py”,第98行,在scan_目录中
追加(os.path.join(路径,文件夹级别1))
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/posixpath.py”,第94行,在join中
常规路径。检查参数类型('join',a,*p)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/genericpath.py”,第149行,在检查参数类型中
(funcname,s._______;类___;名称__;))来自无
TypeError:join()参数必须是str或bytes,而不是“int”

`

由于错误指出join不能接受int,所以您需要将输入变量的类型改为str:

folderlist.append(os.path.join(path, str(folder_level_1)))

正如错误指出的那样,join不能接受int,因此您需要将输入变量的类型改为str:

folderlist.append(os.path.join(path, str(folder_level_1)))

从我看到的情况来看,在调用
join
之前,您将文件夹强制转换为
int
,这需要
string
参数。在错误消息中这样说。我建议您在调用
os.path.join
之前打印出变量的值。无论采用哪种方法,回溯到string
str(folder\u level\u 1)
都会有所帮助。

从我看到的情况来看,在调用
join
之前,您可以将文件夹强制转换为
int
,这需要
string
参数。在错误消息中这样说。我建议您在调用
os.path.join
之前打印出变量的值。无论采用哪种方法,返回字符串
str(文件夹\u级别\u 1)
都会有所帮助。

“在我添加检查文件是否存在之前,函数工作正常”-然后会发生什么?我添加了错误。那么,文件夹\u级别\u 1路径中的哪一个可以是整数?我猜它是
folder\u level\u 1
,因为它在函数“函数运行正常,直到我添加检查文件是否存在”的开始处被初始化了。然后会发生什么?我添加了错误。那么,
path,folder\u level\u 1
中哪一个可以是整数?我猜它是
folder\u level\u 1
,因为它在函数的开头被初始化为零