gux 发表于 2021-1-24 19:18:33

关于os.path.getsize([file name]) 中被省略的文件路径

以下是 零基础入门学习 Python 030节作业题 1。目的是生成一个给定目录下所有文件大小的清单:

import os

all_files = os.listdir(os.curdir) # 使用os.curdir表示当前目录更标准
file_dict = dict()

for each_file in all_files:
    if os.path.isfile(each_file):
      file_size = os.path.getsize(each_file)
      file_dict = file_size

for each in file_dict.items():
    print('%s【%dBytes】' % (each, each))



第 8 行 os.path.getsize(each_file) 语句中, os.path.getsize() 的参数是文件名,而不包括路径。这里 Python 是怎样知道路径的?是根据第 3 行吗? 具体的规则是什么?

逃兵 发表于 2021-1-24 19:18:34

import os

all_files = os.listdir('D:\\some_folder\\')
file_dict = dict()

for each_file in all_files:
    if os.path.isfile('D:\\some_folder\\' + each_file):
      file_size = os.path.getsize('D:\\some_folder\\' + each_file)
      file_dict = file_size

for each in file_dict.items():
    print('%s【%dBytes】' % (each, each))

逃兵 发表于 2021-1-24 19:22:20

python默认路径是自身文件所在的文件夹

gux 发表于 2021-1-24 19:36:36

逃兵 发表于 2021-1-24 19:22
python默认路径是自身文件所在的文件夹

谢谢。如果访问的文件不在默认文件夹里,标准的写法是什么?

以问题中的代码为例,第 8 行是不是要写成

file_size = os.path.getsize('D:\\some_folder\\' + each_file)

逃兵 发表于 2021-1-24 19:59:34

gux 发表于 2021-1-24 19:36
谢谢。如果访问的文件不在默认文件夹里,标准的写法是什么?

以问题中的代码为例,第 8 行是不是要写 ...

以问题中的代码为例
py文件所在文件夹和目标文件夹中的文件名一模一样你可以这样写,毕竟os.curdir表示的是py文件所在的文件夹,all_files里面也是py文件所在目录下的文件名

gux 发表于 2021-1-24 20:30:07

逃兵 发表于 2021-1-24 20:05


谢谢!
页: [1]
查看完整版本: 关于os.path.getsize([file name]) 中被省略的文件路径