如何检查 python 中是否存在带有 * 的文件?
How do I check if a file exists with * in python?
我正在尝试检查文件是否存在以便我可以读取它。问题是我不知道文件上的编号是多少。一次只应存在一个文件,但名称会在我写入文件时更新(在代码的另一部分),所以我不知道执行这段代码时文件的确切数量。
N=0
if os.path.exists('*somefile.txt'): #if the file exists, read it
print("found Nsomefile.txt")
filename = '*somefile.txt'
something=np.loadtxt(filename)
N = int(filename.split('s')[0]) #save the N from the filename
else: #otherise, preallocate memory for something
something = np.empty((x,y))
print(N,"of some thing")
在我的目录中我可以看到那里的文件('32somefile.txt')但代码仍然打印
0 of some thing
您应该在这里使用 glob 而不是 os 函数。
Glob 还支持 * 字符,因此它应该适合您的用例。
您可以使用 pathlib 中的 glob()。
https://docs.python.org/3.5/library/pathlib.html#pathlib.Path.glob
谢谢大家!我忘了全球。 (我在代码的另一部分使用它 (facepalm))。现在看起来像:
import numpy as np
from glob import glob
N=0
if glob('*somefile.txt'): #if the file exists, read it
print("found Nsomefile.txt")
filename = glob('*somefile.txt')[0]
something=np.loadtxt(filename)
N = int(filename.split('s')[0]) #save the N from the filename
else: #otherise, preallocate memory for something
something = np.empty((x,y))
print(N,"of some thing")
输出
found Nsomefile.txt
32 of some thing
我正在尝试检查文件是否存在以便我可以读取它。问题是我不知道文件上的编号是多少。一次只应存在一个文件,但名称会在我写入文件时更新(在代码的另一部分),所以我不知道执行这段代码时文件的确切数量。
N=0
if os.path.exists('*somefile.txt'): #if the file exists, read it
print("found Nsomefile.txt")
filename = '*somefile.txt'
something=np.loadtxt(filename)
N = int(filename.split('s')[0]) #save the N from the filename
else: #otherise, preallocate memory for something
something = np.empty((x,y))
print(N,"of some thing")
在我的目录中我可以看到那里的文件('32somefile.txt')但代码仍然打印
0 of some thing
您应该在这里使用 glob 而不是 os 函数。
Glob 还支持 * 字符,因此它应该适合您的用例。
您可以使用 pathlib 中的 glob()。
https://docs.python.org/3.5/library/pathlib.html#pathlib.Path.glob
谢谢大家!我忘了全球。 (我在代码的另一部分使用它 (facepalm))。现在看起来像:
import numpy as np
from glob import glob
N=0
if glob('*somefile.txt'): #if the file exists, read it
print("found Nsomefile.txt")
filename = glob('*somefile.txt')[0]
something=np.loadtxt(filename)
N = int(filename.split('s')[0]) #save the N from the filename
else: #otherise, preallocate memory for something
something = np.empty((x,y))
print(N,"of some thing")
输出
found Nsomefile.txt
32 of some thing