如何预加前缀“quot_&引用;到文件夹中的所有文件,在文件列表中[Python]
每天我都在运行我的脚本,它输出一个日志文件。我有一个外部配置单元表,读取文件夹中没有前缀“\ux”的所有文件。因此,每当我运行脚本时,我都需要在文件夹中所有以“.log”结尾的文件前面加上“\ux”,而这些文件没有“\ux”前缀 我的文件夹结构是这样的如何预加前缀“quot_&引用;到文件夹中的所有文件,在文件列表中[Python],python,Python,每天我都在运行我的脚本,它输出一个日志文件。我有一个外部配置单元表,读取文件夹中没有前缀“\ux”的所有文件。因此,每当我运行脚本时,我都需要在文件夹中所有以“.log”结尾的文件前面加上“\ux”,而这些文件没有“\ux”前缀 我的文件夹结构是这样的 -output -_data-2020-04-10.log -data-2020-04-11.log 我的代码现在是这样的 if __name__ == "__main__" df = fetch_todays_dat
-output
-_data-2020-04-10.log
-data-2020-04-11.log
我的代码现在是这样的
if __name__ == "__main__"
df = fetch_todays_data() #Returns dataframe
if not [f for f in os.listdir(dataPath) if not f.startswith('_') and f.endswith(".log")] == []:
fileset = [f for f in os.listdir(dataPath) if not f.startswith('_') and f.endswith(".log")]
for f in fileset:
#### prepend "_" to all files.
dataframe_to_json_log(output_path+/'data-{}'.format(datetime.date.today())) #Help function that transforms dataframe to json_blob in output folder
如何正确地在文件集中的所有文件前加“u”
编辑:
我不知道append的意思,应该是prepend 与Mechanist的功能类似,但不影响已具有“u”前缀的文件:
导入全局操作系统
fileset=[f代表glob.glob(“*.log”)中的f,如果不是f.startswith(“”“)]
对于文件集中的f:
操作系统重命名(f,“”+f)
您可以使用glob:
从os.path导入basename
导入全局操作系统
路径='mypath'
os.chdir(路径)
基本名称(路径)
对于glob.glob(“*.log”)中的文件:
os.rename(basename,“”+basename)
首先,您可以检查文件(文件集中的f)是否以“”开头,这似乎是正确的。然后可以使用os.rename('originalFileName.log','newFileName.log')。您已经知道文件的原始名称,因此只需在文件末尾添加一个“”。您希望uuu在.log之前还是之后?当您说“将uuuu附加到所有文件”时,实际上是指“预结束”,对吗?“some\u file.log”变成“\u some\u file.log”嗨,是的,我以为append是prepend,对不起。它应该是prepend。没有basename你不能这样做吗?如果您正在迭代在glob.glob()
调用中找到的所有文件,您可以使用os.rename(file,“\u”+file)