Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-引用不同目录中的文件_Python - Fatal编程技术网

Python-引用不同目录中的文件

Python-引用不同目录中的文件,python,Python,我必须引用一个存在于不同目录中的文件。这只是一个文本文件,不是python模块。我读过无数的帖子,大部分都是关于包含模块的。我读到的任何东西都不能给我一个成功的答案。在众多尝试中,这是我的最新成果: import os REMOTE_FILE = open(os.path.join('/Users/me/Dropbox/otherfolder', 'text.txt'), "r") decrypted = subprocess.check_output(['openssl', 'aes-128-

我必须引用一个存在于不同目录中的文件。这只是一个文本文件,不是python模块。我读过无数的帖子,大部分都是关于包含模块的。我读到的任何东西都不能给我一个成功的答案。在众多尝试中,这是我的最新成果:

import os
REMOTE_FILE = open(os.path.join('/Users/me/Dropbox/otherfolder', 'text.txt'), "r")
decrypted = subprocess.check_output(['openssl', 'aes-128-cbc', '-d', '-in', REMOTE_FILE, '-base64', '-pass', key]) 
程序不会立即在这一行失败,但当我尝试引用此文件时,我得到:

TypeError:无法将'\u io.TextIOWrapper'对象隐式转换为str


我做错了什么?谢谢

您的
远程\u文件
是一个文件对象,而不是字符串。根据您的代码,您可能打算执行以下操作:

import os
REMOTE_FILE = os.path.join('/Users/me/Dropbox/otherfolder', 'text.txt')
decrypted = subprocess.check_output(['openssl', 'aes-128-cbc', '-d', '-in', REMOTE_FILE, '-base64', '-pass', key]) 

REMOTE_FILE
作为字符串而不是对象。

使用
REMOTE_FILE=os.path.join('/Users/me/Dropbox/otherfolder','text.txt')
只将文件路径作为字符串而不是文件对象。

您尝试过
'/Users/me/Dropbox/otherfolder/'
如何访问该文件?您的问题可能在那里,而不是在这一行中。通过在路径开头使用“/”,您指定的是绝对路径。例如,在我的系统上,我需要指定“C:/”,因为我在Windows计算机上工作。等等,您通常只为远程_文件分配一个字符串?这就是你的问题所在。现在传递的是文件对象,而不是字符串。您只需将远程_文件设置为
os.path.join
的结果。您如何访问该文件?如果需要结合文件名的文件路径,则只需
os.path.join('/Users/me/Dropbox/otherfolder',text.txt')
否则,您引用的是打开的文件,而不是结合文件名的文件路径。