我有一个文本文件,包含几百个文本文件,我想打开它,写入/剪切文件并保存为新名称。从python中的文件路径列表加载文件
我一直在谷歌搜索如何做到这一点,发现模块glob,但我无法弄清楚如何使用它。
你们可以指点我正确的方向吗?
我有一个文本文件,包含几百个文本文件,我想打开它,写入/剪切文件并保存为新名称。从python中的文件路径列表加载文件
我一直在谷歌搜索如何做到这一点,发现模块glob,但我无法弄清楚如何使用它。
你们可以指点我正确的方向吗?
如果你有特定的文件路径,你将不需要glob模块。当你想使用像/user/home/someone/pictures/*.jpg
这样的路径时,glob模块很有用。从我的理解你有一个正常路径的文件。
您可以使用此代码作为开始:
with open('file_with_paths', 'r') as paths_list:
for file_path in paths_list:
with open(file_path, 'r') as file:
# Do what you want with one of the files here.
这很好,很清楚!谢谢!但由于原因python不能找到这些文件:'没有这样的文件或目录'。当第一个文件(P10088)位于我的工作目录中时,你认为这些文件路径的格式是否正确? P10088/10088-01-07-02/pca/SE1_5a0e110-5a0e6a1.evt – user90465
这一切都取决于你当前的工作目录。如果'file_with_paths'中的路径与您运行python script.py的目录相关,那么它应该是正确的。你可以用'os.getcwd()'检查你当前的工作目录,你可以用'os.chdir()'来改变它。检查这些目录是否符合你的期望。 – Maciek
如果给定文件的非绝对路径,“open”函数会尝试通过将os.getcwd()的结果与作为参数给出的结果相结合来打开文件。这就是为什么确保'os.getcwd()+'/'+ file_path'有意义的原因。 – Maciek
您只需通过遍历行的文件行,然后拿出你从这个名字所希望的。稍后保存/创建它。下面的示例代码可以帮助
with open('file_name') as f:
for file_path in f:
import os
file_name = os.path.basename(file_path)
absolute path = os.path.dirname(file_path)
# change whatever you want to with above two and save the file
# os.makedirs to create directry
# os.open() in write mode to create the file
让我知道,如果它可以帮助你
谢谢!你可能会更多地了解它吗?对我来说,什么是什么,以及如何遍历文件并改变它们并不是很明显。 – user90465
试一下:https://docs.python.org/2/library/glob.html –
感谢。当然,我看到了这个页面,但是对于我来说并不那么直截了当,我可以如何使用它。 – user90465