这是一个典型的异常过程,但以后不会将其写入文件中。怎么了?
摘要:
with
语句用于写入不存在的文件。在这种情况下,它们不会被写入txt文件。可能的解决方案是仅更改书写过程的发生方式。
AST = []
ASTOTA = []
folder = path.Path(r"C:\Users\user\Desktop\testn")
with open('log.txt', 'w') as fw:
for shpfile in glob.iglob('/*/*/Desktop/testn/*/*/*'):
try:
df = geopandas.read_file(shpfile).assign(col = get_folder(shpfile))
if shpfile.endswith('AST.shp'):
AST.append(df)
else:
ASTOTA.append(df)
except FionaValueError as ex:
if not os.listdir(shpfile):
fw.write(f'{shpfile} is empty' + '\n') <- Here is where
should write to the txt file
fw.write
的位置显然是错误的部分,因为如果我用打印语句替换它,即使有 东西要写,它仍然不显示任何内容,因为有些文件夹确实是空的。
答案 0 :(得分:0)
for循环遍历目录中的所有文件-如果目录中没有文件,则该循环将根本不会运行,因此它将永远不会丢失文件逻辑。也许类似以下内容,它检查目录中是否有文件,如果没有,则写入新文件:
ALTER TABLE dbo.MyTable
ADD
ValidFrom DATETIME2 (2) GENERATED ALWAYS AS ROW START HIDDEN CONSTRAINT DFMyTable_ValidFrom DEFAULT DATEADD(SECOND, -1, SYSUTCDATETIME()),
ValidTo DATETIME2 (2) GENERATED ALWAYS AS ROW END HIDDEN CONSTRAINT DFMyTable_ValidTo DEFAULT '9999.12.31 23:59:59.99',
PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo);
ALTER TABLE dbo.MyTable
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.MyTable_History));
GO