使用Python访问目录和文件

1 投票
1 回答
40284 浏览
提问于 2025-04-17 14:00

我想用一个Python脚本来分析我的数据。这些数据分散在多个文件中,并且存放在不同的文件夹里。而且,这些文件夹里的文件名是一样的,但扩展名不同。我希望只通过提供一个输入文件名就能得到我的输出。比如说,

我的文件名是'test',这就是我的输入。

实际的文件名应该是test.data1、test.data2、test.data3、test.data4,其中有两个输入文件,比如test1.data1和test2.data2,分别放在test1和test2这两个文件夹里。test3和test4是输出文件夹。我的目标是通过Python脚本访问这些文件夹,然后获取这些数据文件。所有四个文件夹都在我的电脑上,但这两个输出文件会通过脚本生成,扩展名是.data3和.data4。我已经开始写了一个脚本,但还没完成。希望能得到一些帮助。

import re
import numpy
import os
import glob
filename =raw_input('enter the input file name: ')
lines = open(input.data1, 'r').readlines()
lines1 = open(input.data2, 'r').readlines()
outfile1=open(input.data3, 'w')
outfile2=open(input.data4, 'w')

最好的祝愿,

Sudipta

1 个回答

4

好的,你遇到的问题是无法访问文件和文件夹……如果你想查看某个文件夹里有什么文件,可以这样做:

for files in os.listdir("./Downloads"):
  print files

如果你想让用户输入一个文件名,然后打开这个文件进行读取,可以这样:

filename = raw_input("what is the file name? ")
try:
    fp = open(filename, "r")
catch:
    print "couldn't open file"

你现在代码中的一个主要问题是,你请求了一个文件名:

filename =raw_input('enter the input file name: ')

但是你并没有使用这个文件名。你却试图打开 input.data1,而这个在你的程序里根本没有定义。如果你想打开一个路径写死的文件,可以这样做: 'input.data1',前提是你的文件叫做 'input.data1'

你也可以打开一个特定路径的文件,比如这样:

lines = open("./input/data1", "r").readlines()

希望这些能帮到你,你的问题不太具体,所以很难给出更好的答案。

撰写回答