在python中打开文件夹

2024-04-25 07:19:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python客户机服务器代码,但我不能运行它的客户端部分,我调试它,但仍然有错误,我认为这是错误的存在,因为程序无法打开文件夹(文件),因为那是地址不正确,请帮我更正它!在

import socket
import sys
host = 'localhost'
port = 5000
file_name = sys.argv[0]
message = open(file_name+'/files/').read()
print ('Request\n', repr(message))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((str(host), int(port)))
s.sendall(message)
data = s.recv(1024)
s.close()
print ('Response\n', repr(data))

我试着纠正我的代码,我的新代码是:

^{pr2}$

以及

C:\Python33\python.exeC: /Users/M.H/Desktop/Client/客户端.py 回溯(最近一次呼叫): 文件“C:/Users/M.H/Desktop/Client/客户端.py“,第7行,英寸 消息=打开(操作系统路径目录名(文件名)+'/files/').read() PermissionError:[Errno 13]权限被拒绝:“C:/Users/M.H/Desktop/Client/files/”

现在我做什么???请帮帮我!!!!在


Tags: 文件代码importclienthost客户端messageport
1条回答
网友
1楼 · 发布于 2024-04-25 07:19:07

问题似乎是您试图读取目录。在

以下是问题所在:

message = open(os.path.dirname(file_name)+'/files/').read()

您试图打开os.path.dirname(file_name)+'/files/',这将转换为'C:/Users/M.H/Desktop/Client/files/',这是一个文件夹。无法打开文件夹进行阅读,这是Permission denied错误。如果要打开与您处于同一级别的“files”目录中的文件客户端.py文件,则应添加要读取的文件的名称。例如,如果您有邮件.txt文件夹里的文件,你应该这样做

^{pr2}$

代码如下所示:

import socket
import sys
import os
host = 'localhost'
port = 5000
file_name = sys.argv[0]
# You need to pass the full path to the file instead of the folder to the open function
message = open(os.path.dirname(file_name)+'/files/message.txt').read()
print ('Request\n', repr(message))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((str(host), int(port)))
s.sendall(message)
data = s.recv(1024)
s.close()
print ('Response\n', repr(data))

相关问题 更多 >