【发布时间】:2019-12-30 07:29:19
【问题描述】:
我有一个代码可以递归地将文件夹内所有扩展名为 .py 的文件更改为 .txt。 这是:
def frm_ext_to_ext(directory, from_ext, to_ext):
"""
directory, from_ext, to_ext should be passed as strings including '.'
For example : directory = '/home/Desktop/folder/file', from_ext = '.txt' , to_ext = '.py'
"""
for foldername, subfolders, filenames in os.walk(directory):
for f in filenames :
if f.endswith('.py'):
base = os.path.splitext(f)[0]
os.rename(os.path.join(foldername, f), os.path.join(foldername, base + to_ext))
但我想要更改文件名,例如:
如果文件名是script.py,我希望将每个文件扩展名都更改为script_py.txt,并且我需要另一个函数来反转此更改,即从script_py.txt 到script.py。
注意:以上.py 只是一个例子。扩展名可以是 .pynb etc
另外,如果扩展名已经是.txt,我希望它保持原样。有什么帮助吗?
【问题讨论】:
-
好的,听起来像是一些简单的字符串操作。您能否包括您尝试过的内容?
标签: python file directory scripting filesystems